与えられた単語の後の行からスペースを削除する方法は?

与えられた単語の後の行からスペースを削除する方法は?

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

おすすめ記事