我正在读取文件,并将前两列写入输出文件。 我想写“,”作为列分隔符
我尝试过
awk -F"," -OFS"|" '{print $1 , $2}' filename
输出文件没有|分隔符
谢谢 Pratik
答案 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先生在评论中提到了这一点:)