如何在UNIX中的现有文件中添加新列?

时间:2019-02-13 11:01:19

标签: unix field string-concatenation

我想在文件中添加两个新列: 现有文件有2列:

ABCD,1234
QWER,3333
TTYY,2323
YYPP,1789

新文件:要添加2列(字段)。   ->第三字段应与第一字段具有相同的值。   ->第4个字段将始终具有相同的值“ XXXX”

ABCD,1234,ABCD,XXXX
QWER,3333,QWER,XXXX
TTYY,2323,TTYY,XXXX
YYPP,1789,YYPP,XXXX

请帮助。谢谢。

1 个答案:

答案 0 :(得分:1)

您可以使用内部Shell循环:

while IFS=, read first second; do
  echo "$first,$second,$first,XXXX"
done <your_file.dat >new_file.dat

但是在大​​多数情况下使用awk更快:

awk -F, -vOFS=, '{print $1,$2,$1,"XXXX"}' your_file.dat >new_file.dat
  • -F,告诉awk input 字段分隔符为,
  • -vOFS=,告诉awk output 字段分隔符为,