我有一个带有一些列的选项卡分隔的文本文件。对于某些行,特定列的值(即字符串)的末尾有一个反斜杠,这会导致问题,而我希望将这些数据导入到PostgreSQL数据库。我希望将该反斜杠从该列的字符串值的末尾移除,该反斜杠用于所有拥有反斜杠的行。我该怎么做?
例如,在这一行中,如您所见,在第二列末尾有一个反斜杠。
862B25B3 Making Large-Scale Nystr{\ making large scale nystr 2010 2010 international conference on machine learning icml 465F7C62 19555发布于 2016-12-25 11:44:09
哇哦。使用sub在第二个($2)制表符分隔(-F'\t')列的末尾用"" (nothing)替换尾随的\:
$ 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发布于 2016-12-25 11:51:09
使用sed,在制表符之前或行尾移除反斜杠:
sed 's/\\\t/\t/g;s/\\$//' filehttps://stackoverflow.com/questions/41320816
复制相似问题