我有一张这样的数字表 -
13030 11537 40387 38
31500 174 40387 38
8928 7132 40387 40387 40387 40387 38
1299 174 40387 38
所有行都没有相同的列数。
我想创建另一个相同大小的表,方法是将每个数字替换为cmd $number
,其中cmd是一个通用的bash命令(可能是管道)。而且我想用bash做整件事。
可以这样做吗?
答案 0 :(得分:2)
下一个程序将会这样做:
while read line
do
for num in $line
do
result=$( cmd $num )
echo -n "$result "
done
echo
done
答案 1 :(得分:1)
我喜欢使用xargs。用您的命令替换echo %s + 1 | bc
。我的示例为每个数字添加一个。
xargs -L 1 -i bash -c "printf 'echo -n \"\$(echo %s + 1 | bc) \";' {} ; echo 'echo;'"