Shell 删除字段之间的空白
我在一个Shell 删除字段之间的空白,shell,sed,awk,tr,Shell,Sed,Awk,Tr,我在一个input.txt中有400000多个字段,它们之间用空格隔开。 例如,012重复了400000次 我需要像021112那样将它们放在一起 我该怎么做?有很多方法可以做到这一点,最简洁的方法是使用tr删除所有空格: tr -d ' ' < file > outfile 警告:sed解决方案会用更改覆盖原始文件 由于您被问及关于awk的问题,一般的解决方案是设置一个空白的OFS,并强制使用$1=$1进行重建,但这并不像前两个解决方案那样优雅: awk '{$1=$1}1' O
input.txt
中有400000多个字段,它们之间用空格隔开。
例如,012
重复了400000次
我需要像021112
那样将它们放在一起
我该怎么做?有很多方法可以做到这一点,最简洁的方法是使用
tr
删除所有空格:
tr -d ' ' < file > outfile
警告:sed
解决方案会用更改覆盖原始文件
由于您被问及关于awk
的问题,一般的解决方案是设置一个空白的OFS
,并强制使用$1=$1
进行重建,但这并不像前两个解决方案那样优雅:
awk '{$1=$1}1' OFS= file > outfile
有很多方法可以做到这一点,最简洁的方法是使用
tr
删除所有空格:
tr -d ' ' < file > outfile
警告:sed
解决方案会用更改覆盖原始文件
由于您被问及关于awk
的问题,一般的解决方案是设置一个空白的OFS
,并强制使用$1=$1
进行重建,但这并不像前两个解决方案那样优雅:
awk '{$1=$1}1' OFS= file > outfile
没问题。你应该通过点击旁边的勾号来接受这个答案(除非有更好的答案)。这将显示您的问题已解决。如果有选项卡,可以使用
s/[[:space:]///g
而不是s////g
(或tr-d'[:space:]
)没有问题。你应该通过点击旁边的勾号来接受这个答案(除非有更好的答案)。这将显示您的问题已解决。如果有选项卡,可以使用s/[[:space:]///g
而不是s////g
(或tr-d'[:space:]'
)