Linux Awk - 如何控制输出分隔符

时间:2014-07-29 11:06:39

标签: linux awk delimiter

我正在运行以下awk命令将第1列和第15列从输入文件投影到输出。使用空格分隔符

写入输出文件时,问题开始
     awk -F "|" '{print $1,$15}' 1st_rm_text_from_transactions_22_7_14.plt > manual_memos_text_from_transactions_22_7_14.plt

如何在输出文件中控制deilmeter(我需要|)?

感谢

3 个答案:

答案 0 :(得分:3)

您可以使用输出分隔符变量OFS

来控制它
awk -F "|" '{OFS="|"; print $1,$15}' 1st_rm_text_from_transactions_22_7_14.plt > manual_memos_text_from_transactions_22_7_14.plt

更好的方法是添加一个开始部分,以避免每行设置变量(如其他答案和注释中所示):

awk -F "|" 'BEGIN {OFS="|"} {print $1,$15}' 1st_rm_text_from_transactions_22_7_14.plt > manual_memos_text_from_transactions_22_7_14.plt

请参阅here

答案 1 :(得分:3)

awk -F "|" -v OFS="|" '...code..'

awk 'BEGIN{FS=OFS="|"}{code...}'

答案 2 :(得分:1)

只需在print语句中使用FS代替逗号。

awk -F"|" '{print $1FS$15}' infile > outfile