我有一个带有一些列的制表符分隔的文本文件。对于某些行,特定列的值(它是字符串)在其末尾带有反斜杠,这在我想将这些数据导入PostgreSQL数据库时会引起问题。我想从具有该行的所有行的该列的字符串值的末尾删除该反斜杠。我怎样才能做到这一点?
例如,在您看到的这一行中,第二列的末尾有一个反斜杠
862B25B3 Making Large-Scale Nystr{\ making large scale nystr 2010 2010 international conference on machine learning icml 465F7C62 19555
在awk。用于在第二个()制表符分隔的()列的sub
末尾\
用""
(什么都没有)替换结尾:$2
-F'\t'
$ awk -F'\t' -v OFS='\t' 'sub(/\\$/,"",$2)||1' foo
如果\
可能在任何字段的末尾,则需要对它进行`for'循环:
$ awk -F'\t' -v OFS='\t' '{for(i=1;i<=NF;i++)sub(/\\$/,"",$i)}1' foo
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句