我正在尝试使用类似的东西
unexpand -t 4 *.PHP
但我不确定如何写这个命令来做我想要的.
古怪,
unexpand -t 4 file.PHP > file.PHP
给我一个空文件. (即没有任何东西覆盖file.PHP)
我可以指定多个文件,但不知道如何覆盖每个文件.
我可以使用我的IDE,但有超过200个文件需要更换约67000个实例,这需要一段时间.
我希望我的问题的答案将是标准的unix票价,但我还在学习……
最佳答案
您很少使用
输出重定向来替换输入.替换使用内部
支持它的命令(因为他们自己执行基本步骤).从shell级别来看,分两步工作要好得多,如下所示:
>在foo上执行操作,创建foo.tmp
>将foo.tmp移动(重命名)为foo,覆盖原始文件
这将很快.它需要更多的磁盘空间,但如果在继续下一个文件之前执行这两个步骤,则只需要与最大的单个文件一样多的额外空间,这应该不是问题.
草图脚本:
for a in *.PHP
do
unexpand -t 4 $a >$a-notab
mv $a-notab $a
done
你可以做得更好(错误检查,等等),但这是基本的大纲.
原文链接:https://www.f2er.com/linux/440222.html