我想用相同的分隔符打印分隔文件的1,2,3,6列。分隔符是1e(十六进制)或036(八进制)。这是bashscript。我从帖子中读到,我的尝试是一种很好的方法:
awk 'BEGIN{OFS="\036"} {print$1,$2,$3,$6}' filename > newfile.txt
当我这样做时,该文件包含源文件中的所有内容。期待看到我做错了什么。下面我有一些示例输入和输出。实际文件有很多记录。 ^^表示1e(十六进制)或\ 036(八进制)。
输入:
Q001^^bob123^^001^^X^^ ^^^^ ^^ ^^TX^^B^^ ^^ ^^2^^10
输出:
Q001^^bob123^^001
答案 0 :(得分:3)
OFS
是输出字段分隔符,而不是输入字段分隔符。您还必须设置FS
。
awk 'BEGIN{FS=OFS="\036"} {print$1,$2,$3,$6}' filename > newfile.txt