我想要echo
清空这样的文件类型,例如:
bash-3.2$ cat t1.txt
aa
bash-3.2$ cat t2.txt
aa
bash-3.2$ cat t3.txt
aa
我尝试通过以下方式使它们清空:
$ find /Users/liweijian/Downloads/tmpfiles -name "*.txt" -exec echo ""
> {} \;
但它不起作用。
答案1
在这种情况下,更容易避免引用麻烦,以使重定向正常工作:
使用truncate -s 0
as 命令清空该文件。如果该文件不存在,则很奇怪,因为它应该存在于coreutils
常见的发行版中并默认安装。如果确实缺少此包,请尝试安装它。
答案2
您可以输入以下命令:
$ find /Users/liweijian/Downloads/tmpfiles -name "*.txt" -exec sh -c "echo ''
> {}" \;