我有一个 shell 脚本,可以创建如下所示的 CSV 输出文件(在单独的行上):
aaa,111
bbb,222
ccc,999
我希望将记录号作为上述输出中的第一列,例如,
dm1,aaa,111
dm2,bbb,222
dm3,ccc,999
如何dm
在我的 shell 脚本中创建一个变量?
使用awk
:
awk '{print "dm" NR "," $0}' input.csv >output.csv
或者
... | awk '{print "dm" NR "," $0}' >output.csv
您可以使用 var 和 expr 来做一些数学运算,例如
dm=`expr $dm + 1`
echo "dm$dm,...rest of output..."
将您的输出通过管道传输到awk
yourcommand | awk -F, -v prefix="dm" '{printf "%s%d,%s\n", prefix, NR, $0}'
我们设置-F,
输入字段分隔符,并-v
设置前缀。如果需要,您可以将“dm”替换为 shell 变量。