file.txtがあるとしましょう。ファイルの内容は次のとおりです。
insert into x values('a ',' b',' c ');
insert into x values(' m ',' n ',' p ');
私は各行の単語の後にスペースを削除したいと思いますvalues
。
希望の出力:
insert into x values('a','b','c');
insert into x values('m','n','p');
ベストアンサー1
sed -e ':a' -e "s/\('[^' ]*\) */\1/g" -e ta file.txt
insert into x values('a','b','c');
insert into x values('m','n','p');
私たちは、ループメカニズムを同時に使用して、一行にある可能性のある単一引用符ペア「...」内のスペースを徐々に消去します。これはTABがないと仮定しますが、処理することもできます。
sed -e ':a' -e "s/\('[^'[:space:]]*\)[[:space:]]\{1,\}/\1/g" -e ta