2014-09-24 101 views
0

我的文本文件,UNIX命令,删除文本文件中的空格用分隔符

输入文件:

sno|name|lab|result|dep 

1|aaa|ALB|<= 3.67|CHE 

2|bbb|WBC|> 7.2|FVC 

3|ccc|RBC|> 14|CHE 

输出文件:

sno|name|lab|result|dep 

1|aaa|ALB|<=3.67|CHE 

2|bbb|WBC|>7.2|FVC 

3|ccc|RBC|>14|CHE 

如何删除列空格4(结果)?

回答

1

如果你可以从一切删除空格,只要使用sed

sed 's/ //g' input.txt > output.txt 

甚至tr(翻译):

tr -d ' ' <input.txt> output.txt 

否则,如果你需要编辑只是第四列,使用awk。以下命令将|视为字段分隔符(-F \|),然后使用|作为输出字段分隔符(-vOFS=\|)输出文件。

awk -F \| -vOFS=\| '{gsub(/ /, "", $4); print; }' input.txt > output.txt 
+0

执行的第三次声明中列第4去除空格,但只要空间是存在的,然后分隔符不显示 – vsraju 2014-09-24 17:19:57

+0

@vsraju固定的,默认的输出字段分隔符是空格。您可以使用'OFS'变量控制输出字段分隔符。 – Lekensteyn 2014-09-24 20:33:44

+0

非常感谢你@Lekensteyn – vsraju 2014-09-25 09:19:27

相关问题