特定の文字の発生前後のすべてを削除する方法は?

特定の文字の発生前後のすべてを削除する方法は?

入力する

|1|2|3|4|5|

出力

|3|4|

パイプ番号X(この場合3)より前|のすべての項目と、パイプ番号Y(この場合5)以降のすべての項目をどのように削除しますか?

ベストアンサー1

存在するawk

$ awk -F"|" -vOFS="|" '{print "|"$4,$5"|"}' file
|3|4|

真珠:

$ perl -F'\|' -lane 'print join "|", "",@F[3..4],""' file
|3|4|

おすすめ記事