繰り返しパターンがあるファイルがあります。元の行は次のようになります。
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
詳しくは、端末を入力してください。