per*_*son 11 linux text-editing
我有很多带有标签的文件,我想将它们全部转换为空格。我知道这个expand命令,但不幸的是我必须输入使用它的每个文件。在 Linux 上有没有更简单的方法来做到这一点?
Nic*_*oul 12
请尝试以下操作:
find ./ -type f -exec sed -i 's/\t/ /g' {} \;
Run Code Online (Sandbox Code Playgroud)
如果您想要四个空格,请尝试:
find ./ -type f -exec sed -i 's/\t/ /g' {} \;
Run Code Online (Sandbox Code Playgroud)
有很多方法可以做到这一点。如果您不小心,或者您似乎是 Linux 新手,那么在执行此操作时,还有很多方法可以让自己受到伤害。假设您可以创建要转换的文件列表,通过使用类似的东西find或手动使用编辑器,只需将该列表传递到以下内容中即可。
while read file
do
expand "$file" > /tmp/expandtmp
mv /tmp/expandtmp "$file"
done
Run Code Online (Sandbox Code Playgroud)
你可以用它来打自己的脚的一种方法是打错字,这样你就可以将一个空文件转换为你指定的所有文件名,从而删除所有文件的内容。因此,请小心并在已备份的一小组文件上测试您首先执行的操作。