別のファイルに列出力をインポートする

別のファイルに列出力をインポートする

次の内容を含むファイルがあります。

abc=123|qwer=432|reiw=2344|xyz=123 445|tyu=23 rows

試してみましたが、使用する必要trがあります。sedawk

必要な出力は次のようになります。

file2:
123|432|2344|123 445|23 rows

答え1

perl -F'=|\|' -pe '$_ = join "|", grep { $k++ % 2 } @F'

sed -e 's/[^=|]*=//g'

答え2

私はこれを試しましたsed

sed 's/[a-z,=]//g' | sed 's/$/rows/'

つまり、「=」だけでなく、「a」と「z」の間のすべての文字を削除します。その後、最後に「line」を追加します。

これはサンプルラインでのみテストされました。ファイルに他のバリエーションがある場合は機能しない可能性があります。

awk「=」と「|」間のすべての値を取得する別の方法は次のとおりです。

awk '$0=$2' FS=\= RS='|' ORS="|" | head -1

head期待される出力次の2行目の最後の "|"文字が印刷されたため、パイプを実行する必要がありました。

関連情報