我需要删除以文件中图案开头的所有白色空格。
我不想通过线路循环。有任何简单快速的解决方案吗?
例如输入文件:
<id xxx>dafd</id>
<r>31,31, 31</r>
<r> 0, 0,0 </r>
输出文件需要为
<id xxx>dafd</id>
<r>31,31,31</r>
<r>0,0,0</r>
这样?:
echo "<id xxx>dafd</id>
<r>31,31, 31</r>
<r> 0, 0,0 </r>" | sed -r '/<r>/s/ //g;'
<id xxx>dafd</id>
<r>31,31,31</r>
<r>0,0,0</r>
说明:
-
sed -r
:使用扩展的常规表达 -
/<r>/
:匹配的线 -
s/ //g;
:全球无用的空白。
嗨,您可以通过以下脚本进行。首先创建一个诸如mytream.sh
之类的文件并添加以下行,然后更改文件的许可并执行: -
vi mytream.sh
现在添加以下行: -
#!/bin/bash
file_to_tream="yourfilename"
sed '/<r>/s/ //g' $file_to_tream > tmp.txt
mv tmp.txt $file_to_tream
或为任何文件执行此操作,只需在下面更改您的脚本,然后在命令提示符中提供文件名
#!/bin/bash
sed '/<r>/s/ //g' $1 > tmp.txt
mv tmp.txt $1
现在像
一样运行它chmod 777 mytream.sh
./mytream.sh yourfileName
希望这对您有帮助。