我有一个包含文件列表的文件,我想对每个文件执行两个命令。
files.txt 的内容:
file1
file2
file3
我想对每个文件执行的命令是(例如)ls -s
和du
.
我希望输出最终是这样的:
<ls size> <du size> file1
<ls size> <du size> file2
<ls size> <du size> file3
我知道如何使用 bash 脚本来做到这一点,但是有没有办法在一行上轻松地做到这一点,使用进程替换之类的?
我以为我可以做这样的事情,但它没有用:
cat files.txt | tr '\n' '\0' | xargs -0 -I{} cat <(du {} ) <(ls -s {})
出现了这些错误:
du: cannot access `{}': No such file or directory
ls: cannot access {}: No such file or directory
有没有办法做到这一点?