用列分隔符在awk中写入文件

时间:2019-02-19 07:14:23

标签: unix awk

我正在读取文件,并将前两列写入输出文件。 我想写“,”作为列分隔符

我尝试过

awk -F"," -OFS"|" '{print $1 , $2}' filename

输出文件没有|分隔符

谢谢 Pratik

1 个答案:

答案 0 :(得分:2)

是的,由于您书写不正确,它不会打印。以下是在任何OFS程序中提及awk的2种方法。

第一种方式:通过使用-v OFS="|"将其作为变量提及。

awk -F"," -v OFS="|" '{print $1,$2}' filename

第二种方式:使用BEGIN的{​​{1}}部分进行提及(也建议使用)。

awk

第三种方式:根据ghoti的评论,此处添加了awk 'BEGIN{FS=",";OFS="|"}{print $1,$2}' filename 的另一种赋值方法。我们也可以在提及Input_file名称之前对其进行分配,方法是我们可以为不同的Input_file设置不同的OFS值(因为OFS可以读取多个Input_file,因此可以在这种情况下提供帮助)。例如->

awk

在上面的命令中,Input_file1 awk '{print $1,$2}' FS="," OFS="|" Input_file1 FS=":" OFS=";" Input_file2 FS,OFS,Input_file2 |FS和{{1} }是:。感谢ghoti先生在评论中提到了这一点:)