各行にSQLクエリを含むテキストファイルがあります。
各行ごとにいくつかの特殊文字を削除する必要があります。
説明: 次の場合:
select * from Users;
insert into Users values ('UR01','Kim','Director');
結果ファイルは次のものと一致する必要があります。
select * from Users
insert into Users values UR01 Kim Director
答え1
あなたはそれを使用することができます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
答え2
使用tr
:
$ tr -s "()',;" " " < data
select * from Users
insert into Users values UR01 Kim Director
答え3
awkを使用してください:
awk '{gsub(/[;(),'\'']/," "); gsub(/ */," "); print}' your_file