我的文件如下。
[![在此处输入图像说明] [1]] [1]
我想从行间删除不可打印的字符。 任何人都可以帮我吗?
我使用了以下命令,但它从整个文件中删除了不可打印的字符
tr -dc' [:print:] \ n \ r' < Sample_file_excel.csv>
第1栏,第2栏,第3栏,第4栏,第5栏,第6栏,第7栏,第8栏,第9栏,第10栏
12310,42324564756,&#34;带有逗号&#34;,&#34;字符串的简单字符串,带或不带逗号&#34;,字符串1,USD,12,70%,8/1/2013 <登记/>
23455,12312255564,&#34;字符串,有,多个,逗号&#34;,&#34;字符串带或,没有逗号&#34;,字符串2,USD,433,70%,7/15/2013
23525,74535243123,&#34;字符串,逗号,
and - hypens and:semicolans&#34;,&#34; string with or,without commas&#34;,string 1,CAND,744,70%,5/6/2013 46476,15467534544,&#34;冗长的字符串,带逗号
,multiple:colans&#34;,&#34;字符串带或,没有逗号&#34;,字符串2,CAND,388,70%,9/21/2013 12310,42324564756,&#34;带有逗号&#34;,&#34;字符串的简单字符串,带或不带逗号&#34;,字符串1,USD,12,70%,8/1/2013 <登记/> 23455,12312255564,&#34;字符串,有,多个,逗号&#34;,&#34;带或的字符串,没有逗号&#34;,字符串2,USD,433,70%,7/15/2013 23525,74535243123,&#34;字符串,逗号,
and - hypens and:semicolans&#34;,&#34; string with or,without commas&#34;,string 1,CAND,744,70%,5/6/2013 46476,15467534544,&#34;冗长的字符串,带逗号
,multiple:colans&#34;,&#34;字符串带或,没有逗号&#34;,字符串2,CAND,388,70%,9/21/2013
输出应该是这样的:
第1栏,第2栏,第3栏,第4栏,第5栏,第6栏,第7栏,第8栏,第9栏,第10栏
12310,42324564756,&#34;带有逗号&#34;,&#34;字符串的简单字符串,带或不带逗号&#34;,字符串1,USD,12,70%,8/1/2013 <登记/>
23455,12312255564,&#34;字符串,有,多个,逗号&#34;,&#34;字符串带或,没有逗号&#34;,字符串2,USD,433,70%,7/15/2013
23525,74535243123,&#34;字符串,带逗号, - 超级和:半双语&#34;,&#34;带或的字符串,没有逗号&#34;,字符串1,CAND,744,70%,5/6 / 2013
46476,15467534544,&#34;冗长的字符串,逗号,多个:colans&#34;,&#34;带或的字符串,没有逗号&#34;,字符串2,CAND,388,70%,9/21/2013
12310,42324564756,&#34;带有逗号&#34;,&#34;字符串的简单字符串,带或不带逗号&#34;,字符串1,USD,12,70%,8/1/2013 <登记/>
23455,12312255564,&#34;字符串,有,多个,逗号&#34;,&#34;字符串带或,没有逗号&#34;,字符串2,USD,433,70%,7/15/2013
23525,74535243123,&#34;字符串,逗号和 - 超量和:semicolans&#34;,&#34;字符串带或,没有逗号&#34;,字符串1,CAND,744,70%,5/6 / 2013
46476,15467534544,&#34;冗长的字符串,逗号,多个:colans&#34;,&#34;带或的字符串,没有逗号&#34;,字符串2,CAND,388,70%,9/21/2013
答案 0 :(得分:0)
使用\r
制作测试文件:
$ awk 'BEGIN{OFS=","; print "a","x\ry","c"}' > file
$ hexdump -C file
00000000 61 2c 78 0d 79 2c 63 0a |a,x.y,c.|
从$2
和$3
$ awk '
BEGIN { FS="," } # set comma as separator
{
for(i=2;i<=3;i++) # fields 2 and 3
gsub(/[^[:print:]]/,"") # replace all non-printables with ""
}1' file # print
a,xy,c