-2

我有一个 shell 脚本,可以创建如下所示的 CSV 输出文件(在单独的行上):

aaa,111
bbb,222
ccc,999

我希望将记录号作为上述输出中的第一列,例如,

dm1,aaa,111
dm2,bbb,222
dm3,ccc,999

如何dm在我的 shell 脚本中创建一个变量?

4

3 回答 3

1

使用awk

awk '{print "dm" NR "," $0}' input.csv >output.csv

或者

... | awk '{print "dm" NR "," $0}' >output.csv
于 2013-06-29T21:05:26.853 回答
0

您可以使用 var 和 expr 来做一些数学运算,例如

dm=`expr $dm + 1`
echo "dm$dm,...rest of output..."
于 2013-06-29T21:02:50.980 回答
0

将您的输出通过管道传输到awk

yourcommand | awk -F, -v prefix="dm" '{printf "%s%d,%s\n", prefix, NR, $0}'

我们设置-F,输入字段分隔符,并-v设置前缀。如果需要,您可以将“dm”替换为 shell 变量。

于 2013-06-29T21:09:29.120 回答