[英]awk write in file with column separator
我正在读取文件,并将前两列写入输出文件。 我想写“,”作为列分隔符
我尝试过
awk -F"," -OFS"|" '{print $1 , $2}' filename
输出文件没有| 分隔器
感谢Pratik
是的,由于您书写不正确,它不会打印。 以下是在任何awk
程序中提及OFS
的2种方法。
第一种方式:使用-v OFS="|"
提到它作为一个变量。
awk -F"," -v OFS="|" '{print $1,$2}' filename
第二种方式:使用awk
BEGIN
部分提及它(也建议使用)。
awk 'BEGIN{FS=",";OFS="|"}{print $1,$2}' filename
第三种:根据ghoti的评论,这里增加了1种OFS
分配值的方法。 通过执行此操作,我们也可以在提及Input_file名称之前对其进行分配,因为我们可以为不同的Input_file设置不同的OFS
值(因为awk
可以读取多个Input_file,因此可以在这种情况下提供帮助)。 例如->
awk '{print $1,$2}' FS="," OFS="|" Input_file1 FS=":" OFS=";" Input_file2
在用于Input_file1上述命令FS
是,
和OFS
是|
对于Input_file2, FS
为:
和OFS
为;
。 感谢ghoti先生在评论中提到了这一点:)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.