Shell 遍历文件并将所有选项卡替换为两个空格
我想在我的项目目录中的所有文件中用2个空格替换所有选项卡。 下面是我编写的代码,但它没有按预期工作 选项卡与文件中的选项卡相同Shell 遍历文件并将所有选项卡替换为两个空格,shell,tabs,spaces,Shell,Tabs,Spaces,我想在我的项目目录中的所有文件中用2个空格替换所有选项卡。 下面是我编写的代码,但它没有按预期工作 选项卡与文件中的选项卡相同 for i in * do sed 's/tab/spacespace/g' "${i}" > temp.txt && mv temp.txt "${i}" done 有什么建议吗?在我的代码中发现了一个愚蠢的错误。这是有效的 for i in * do sed 's/\t/ /g' "${i}" > temp.txt &
for i in *
do
sed 's/tab/spacespace/g' "${i}" > temp.txt && mv temp.txt "${i}"
done
有什么建议吗?在我的代码中发现了一个愚蠢的错误。这是有效的
for i in *
do
sed 's/\t/ /g' "${i}" > temp.txt && mv temp.txt "${i}"
done
你也可以使用
由于以下原因,建议选择展开:
例如考虑TabSeas=8。(为便于解释,请选择较大的选项卡大小。)
然后,abcpqrs
应表示如下:
T T T <~~~~~~ Tab markers on every 8th column, since tabsize=8.
abc pqrs
--> <-- This gap is 5 characters, not 8.
T expand是推荐的选项(参见其他答案)。此外,即使在sed中,也不需要使用重定向+mv。sed已经有了一个-i
选项。@anishsane-i非常有用。谢谢。
T T T <~~~~~~ Tab markers on every 8th column, since tabsize=8.
abc pqrs
--> <-- This gap is 5 characters, not 8.