パターン空間から最初の行1を
削除する移植可能な方法は何ですか?gnu sed
私ができることで
s/[^\n]*\n//
しかし、私が知っている限り、これは(\n
角[]
かっこ式で使用される)移植可能ではありません。
実際の例:ここでは、sed
区切り文字を含むファイルの最後の部分が印刷されます。移植可能なコードを通して。区切り文字を除いて移植可能な方法で実行するために、パターン空間から最初の行を削除したいと思います。とてもgnu sed
簡単です:
sed 'H;/===/h;$!d;//d;x;s/[^\n]*\n//' infile
1:明らかに、これはコマンドサイクルを再開せずに実行する必要があります...
ベストアンサー1
このような操作を移植可能に実行する1つの方法は次のとおりです。
sed -e '
# ... assuming prev sed cmds made pattern space carry newline(s)
y/\n_/_\n/ ;# exchange newlines with an underscore
s/^[^_]*_// ;# remove up till the first underscore, ummm newline
y/\n_/_\n/ ;# revert the transformation
'