sed を使用して 2 文字間の文字列を抽出する方法 [duplicate]

sed を使用して 2 文字間の文字列を抽出する方法 [duplicate]

私は助けが必要ですsed。このために情報を探しましたが、具体的な内容が見つかりませんsedでした。

デフォルトでは、次の形式のファイルがあります。

NAME_DIGITS_ddd-11s-21a-ds_DIGITS_DIGITS.xml

00004574最初の下線と2番目の下線の間の文字列である最初の数字(たとえば)をコピーしたいと思います。

これを行う方法を知っていますか?

最初の数字を考えると、0それを取り除くために何ができますか?

2つの状況の例を挙げていただければ幸いです。説明も大歓迎です。

私は反対の目標を達成しました。最初の下線と2番目の下線の間の文字を削除しましたが、sed s/_[^_]*_/_/実際に必要な操作を実行する方法を知りませんでした。

ベストアンサー1

 awk -F "_" '{print $2}'

それだけです!

また、本当にsedを使用したい場合

sed 's/^[^_]*_\([^_]*\)_.*/\1/g'

sedには貪欲ではない一致がないため、_最初の下線と2番目の下線の間にない項目を検索する必要があります!

おすすめ記事