ファイルから2つの単語間の文字を削除する

ファイルから2つの単語間の文字を削除する

繰り返しパターンがあるファイルがあります。元の行は次のようになります。

blahblah=xxx blahblahblah(xxx): blah=xxx blah=xxx blah=xxx blah=xxx a0=20a8c20 a1=20a8dc0 a2=20a70a0 a3=7ffcb25e7b60 items=3 ppid=xxx blah=xxx blah=xxx blah=xxx blah=xxx blah=xxx blah=xxx blah=xxx blah=xxx blah=xxx blah=xxx blah=xxx blah=xxx blah="xxx" blah="xxx"

この行を次の出力に変換するには、コマンドが必要です(a0をppidに削除し、ppidを削除しません)。

blahblah=xxx blahblahblah(xxx): blah=xxx blah=xxx blah=xxx blah=xxx ppid=xxx blah=xxx blah=xxx blah=xxx blah=xxx blah=xxx blah=xxx blah=xxx blah=xxx blah=xxx blah=xxx blah=xxx blah=xxx blah="xxx" blah="xxx"

a0とppidの文字数は異なります。

解決策を説明してください。私はただ学びたい学生です。

コメントへの回答:

はい、ファイルディレクトリに対してこれを実行しています。ターゲットは、これらのファイルを繰り返すスクリプトです。使ってみよう

sed -e 's/a0=<missing code>items=//'

しかし、欠落しているコードに何を含めるべきかはわかりません。ファイルの一般的なパターンは同じです。

ベストアンサー1

sed 's/a0.*ppid/ppid/g' yourFile

s は置換を意味します。

a0で始まり、ppidで終わる文字列をppidに置き換えます。

ピリオドはすべての文字を表します。

アスタリスクは、ppidまでのゼロ個以上の文字を表します。

gは、文字列全体に対してこれを行うことを意味します。

man sed詳しくは、端末を入力してください。

おすすめ記事