可変長のヘッダー(最初の行)を持つファイルがあります。
"One"|"Two"|"Three"
または
"One"|"Two"|"Three"|...|"One Hundred"
ループを実行して新しいファイルに変換しようとしています。
"Hello One!"
"Hello Two!"
"Hello Three! ..."
"Hello One Hundred!"
どうすればいいですか? awkを使用していますか? sed?
寸法を変更しないと、解決策が見つかりません。
私のオペレーティングシステムはですLinux-RedHat-RHEL-6
。
ベストアンサー1
以下は、2回のsed呼び出しを含む単純なソリューションです(各行が引用されていると仮定)。
sed -n '1s#"|"#"\n"#gp' file | sed 's#"\(.*\)"#"Hello \1!"#'
最初の sed コマンドは「|」を改行文字に置き換えます。次に、テキストと感嘆符を追加します。
データがなく、|
周囲の環境が"
オプションの場合は、次のものを使用することもできます(より速くする必要があります)。
head -1 file | tr \| \\n | sed 's#"\?\(.*\)"\?#"Hello \1!"#'