2013-06-18 37 views

回答

2

您也可以使用expand

for f in *; do 
    expand -t2 "$f" > tmp && mv tmp "$f" 
done 

expand建議選項:

例如考慮tabsize = 8。 (大TABSIZE選擇,爲了便於說明。)

然後<LINE_START>abc<TAB>pqrs應如下表示:

T  T  T <~~~~~~ Tab markers on every 8th column, since tabsize=8. 
abc  pqrs 
-->  <-- This gap is 5 characters, not 8. 

如果有人用N位盲目替換所有的標籤,那麼這將是錯誤的。但是,這將用於替換LEADING選項卡。

expand實用巧妙地照顧上述情況。

0

在我的代碼中發現了一個愚蠢的錯誤。下面的原因這是工作

for i in * 
do 
    sed 's/\t/ /g' "${i}" > temp.txt && mv temp.txt "${i}" 
done 
+1

擴展建議選項(請參閱其他答案)。此外,即使在sed中,您也不需要使用重定向+ mv。 sed已經有一個'-i'選項。 – anishsane

+0

@anishsane -i真的很有用。非常感謝。 – sachinjain024

相關問題