问题描述
我试图在一行脚本中用-
将三个剪切函数的输出连接起来。我尝试如下,但不会工作。我该怎么办?
echo "$(cut -d',' -f2 FILE.csv)-$(cut -d',' -f1 FILE.csv)-$(cut -d',' -f3 FILE.csv)"
解决方法
使用awk
更改定界符:
awk -F,'{ print $2,$1,$3 }' OFS='-' FILE.csv
或使用csvkit命令(如果文件具有更复杂的CSV,并且带引号的字段或逗号分隔的多行字段中的逗号无法正确处理,则特别有用):
csvcut --columns 2,1,3 FILE.csv | csvformat -D'-'