Bash 从文件中提取列并使用分隔符Shellscript打印到新文件
我想用相同的分隔符打印带分隔符文件的1,2,3,6列。分隔符为1e(十六进制)或036(八进制)。这是bashscript。我从帖子上读到我的尝试是一个很好的方法:Bash 从文件中提取列并使用分隔符Shellscript打印到新文件,bash,shell,unix,awk,Bash,Shell,Unix,Awk,我想用相同的分隔符打印带分隔符文件的1,2,3,6列。分隔符为1e(十六进制)或036(八进制)。这是bashscript。我从帖子上读到我的尝试是一个很好的方法: awk 'BEGIN{OFS="\036"} {print$1,$2,$3,$6}' filename > newfile.txt 执行此操作时,文件包含源文件中的所有内容。看看我做错了什么。下面我有一些示例输入和输出。实际文件有许多记录。^^^表示1e(十六进制)或\036(八进制) 输入: Q001^^bob123^^0
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
OFS
是输出字段分隔符,而不是输入字段分隔符。您还必须设置FS
awk 'BEGIN{FS=OFS="\036"} {print$1,$2,$3,$6}' filename > newfile.txt
OFS
是输出字段分隔符,而不是输入字段分隔符。您还必须设置FS
awk 'BEGIN{FS=OFS="\036"} {print$1,$2,$3,$6}' filename > newfile.txt
请在代码标记中发布示例输入和预期输出。请在代码标记中发布示例输入和预期输出。