简体   繁体   English

如何使用awk处理ASCII不可打印字符

[英]How to work with ASCII non-printable characters using awk

First using cat command cat -v -e -t <my_file> I have this load file.DAT with some non-printable ASCII characters. 首先使用cat命令cat -v -e -t <my_file>我有这个加载文件。DAT带有一些不可打印的ASCII字符。

þBEGNUMþ^TþENDNUMþ^TþBEGATTþ^TþENDATTþ^T^M$
þTM00000001þ^TþTM00000001þ^TþTM00000001þ^TþTM00000001þ^M$

How do I use awk to work with data and remove last column? 如何使用awk处理数据并删除最后一列? þENDATTþ^T^ so that output becomes: þENDATTþ^T^以便输出变为:

þBEGNUMþ^TþENDNUMþ^TþBEGATTþM$
þTM00000001þ^TþTM00000001þ^TþTM00000001þM$

Note that my delimiters is from a Concordance database 请注意,我的分隔符来自Concordance数据库

Comma □ (ASCII 20) 逗号□(ASCII 20)

Quote þ (ACSII 254) 引用þ(ACSII 254)

New Line ® (ASCII 174) 换行®(ASCII 174)

我能够弄清楚

awk -F'\\024' 'BEGIN {OFS = FS; ORS = "\\n"} {$33=""; sub(/\\024$/, ""); print $0}' tmp.dat > final.dat

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM