Bash 在shell脚本的一行中连接多个剪切的输出

Bash 在shell脚本的一行中连接多个剪切的输出,bash,shell,cut,Bash,Shell,Cut,我试图在一行shell脚本中将三个cut函数的输出与-连接起来。我试了如下,但不起作用。我该怎么做 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 或者使用命令(如果您的文件具有更复杂的CSV,例如引号字段中的逗号或多行字段中的逗号无法正确处理,则特别有用): csvcut--2,1,3列F

我试图在一行shell脚本中将三个cut函数的输出与
-
连接起来。我试了如下,但不起作用。我该怎么做


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
或者使用命令(如果您的文件具有更复杂的CSV,例如引号字段中的逗号或多行字段中的逗号无法正确处理,则特别有用):

csvcut--2,1,3列FILE.csv | csvformat-D'-'

请将问题描述得比“行不通”更好。给出准确的输入文件、预期结果和实际结果。如果
file.csv
只包含一行,它应该可以工作。如果它包含多行,并且您希望逐行合并字段,请尝试使用
paste-d'-'替换,每个剪切命令的输出将是文件每行中的该字段。所以你会得到所有字段2,然后是所有字段1,然后是所有字段3。