我有输入文件foo1.txt、foo2.txt、foo3.txt等。我有一些命令munge可以处理输入文件,但是(由于与此处不相关的原因)该命令一次只能处理一个输入文件。我想将输出合并为一个out.txt.
我知道我可以cat foo*.txt连接所有输入文件,但如上所述munge只能对每个单独的文件起作用。也就是说,munge如果我这样做的话,我不会喜欢它cat foo*.txt | munge > out.txt。相反,我需要在连接输出之前对每个文件执行处理。
我确信我可以使用 循环输入文件for,但是如何组合输出呢?
基本上我正在寻找类似的东西,而不预先枚举所有输入文件。
cat foo1.txt | munge > out1.txt
cat foo2.txt | munge > out2.txt
cat foo2.txt | munge > out2.txt
cat out*.txt > out.txt
Run Code Online (Sandbox Code Playgroud)
我敢打赌,有一些非常简单的命令可以在一行中为我完成此操作,也许可以使用嵌套管道和通配符。有任何想法吗?
使用循环并将整个循环的输出重定向到out.txt. 并且无需通过管道cat,您只需将输入重定向到文件即可。
for file in foo*.txt; do
munge < "$file"
done > out.txt
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
150 次 |
| 最近记录: |