简体   繁体   中英

How to remove a special character in a string in a file using linux commands

I need to remove the character : from a file. Ex: I have numbers in the following format:

b3:07:4d

I want them to be like:

b3074d

I am using the following command:

grep ':' source.txt | sed -e 's/://' > des.txt

I am new to Linux. The file is quite big & I want to make sure I'm using the write command.

您可以不用grep:

sed -e 's/://g'  source.txt > des.txt

-i选项可在适当位置编辑文件。

sed -i 's/://' source.txt

the first part isn't right as it'll completely omit lines which don't contain :

below is untested but should be right. The g at end of the regex is for global, means it should get them all.

sed -e 's/://g' source.txt > out.txt

updated to better syntax from Jon Lin's answer but you still want the /g I would think

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM