我正在运行以下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(我需要|)?
感谢
答案 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