【发布时间】:2020-10-18 07:05:19
【问题描述】:
我正在尝试将三个剪切函数的输出与 - 在 shell 脚本中的一行中连接起来。我尝试如下,但不会工作。我该怎么做?
echo "$(cut -d',' -f2 FILE.csv)-$(cut -d',' -f1 FILE.csv)-$(cut -d',' -f3 FILE.csv)"
【问题讨论】:
-
请更好地描述问题而不是“无法解决”。给出准确的输入文件、预期结果和实际结果。
-
如果
FILE.csv只包含一行,它应该可以工作。如果它包含多行并且您想逐行合并字段,请尝试使用paste -d'-' <(cut -d',' -f2 FILE.csv) <(cut -d',' -f1 FILE.csv) <(cut -d',' -f3 FILE.csv)或awk 'BEGIN {FS=","; OFS="-"} {print $2,$1,$3}' FILE.csv。 -
每个剪切命令的输出将是文件每一行中的那个字段。所以你会得到所有字段 2,然后是所有字段 1,然后是所有字段 3。