替换矩阵中的每个元素

时间:2014-09-15 09:02:12

标签: bash

我有一张这样的数字表 -

13030 11537 40387 38
31500 174 40387 38
8928 7132 40387 40387 40387 40387 38
1299 174 40387 38

所有行都没有相同的列数。

我想创建另一个相同大小的表,方法是将每个数字替换为cmd $number,其中cmd是一个通用的bash命令(可能是管道)。而且我想用bash做整件事。

可以这样做吗?

2 个答案:

答案 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;'"