Shell-Script

刪除文本文件中的特殊字元

  • April 8, 2015

我有一個文本文件,其中每一行都包含一個 sql 查詢。

對於每一行,我需要刪除一些特殊字元。

解釋:如果我有:

select * from Users;
insert into Users values ('UR01','Kim','Director');

結果文件必須匹配:

select * from Users
insert into Users values UR01 Kim Director

您可以使用sed

sed -e 's/[;,()'\'']/ /g;s/  */ /g' input.sql > output.txt

或者,如果您想指定要保留的字元:

sed -e 's/[^a-zA-Z*0-9]/ /g;s/  */ /g' input.sql > output.txt

使用tr

$ tr -s "()',;" " " < data
select * from Users 
insert into Users values UR01 Kim Director 

引用自:https://unix.stackexchange.com/questions/195001