执行的命令:
cat a1.txt | grep a | wc -l >> a.txt
cat b.txt | grep a | wc -l >> a.txt
cat c.txt | grep a | wc -l >> a.txt
我想要计数并将命令附加到 a.txt。
喜欢
预期文件输出:假设计数为 100,200,300。
cat a1.txt | grep a | wc -l 100
cat b.txt | grep a | wc -l 200
cat c.txt | grep a | wc -l 300
答案1
任何一个
使用
script
命令来捕获终端,然后编辑结果,或者将命令存储在变量中,然后评估命令:
cmd='cat a1.txt | grep a | wc -l' printf "%s\t%s\n" "$cmd" "$(eval "$cmd")" >> a.txt
概括一下:
print_and_do() { local cmd="$1"; printf "%s\t%s\n" "$cmd" "$(eval "$cmd")"; } { print_and_do "cat a1.txt | grep a | wc -l" print_and_do "cat b.txt | grep a | wc -l" print_and_do "cat c.txt | grep a | wc -l" } >> a.txt
您是否知道cat a1.txt | grep a | wc -l
可以写成:
grep -c a a1.txt