sedで「(~)」を使って文字列の一部を取り出し
sedで「(~)」を使って、文字列の一部を取り出したいのですが期待した結果になりません。
以下のようなファイルがあります。
そこから、最初に見つかった「A-Z0-9」を含む文字列を取り出したいのですが、
どうしても、2番目にでてくる「0-9」でなる文字列が取り出されます。
環境は、Solaris/Linuxになります。
■ファイル
cat aaa
"aaa","bbb","ccc","123456","ddd","eee","fff,"0000","ggg"
"aaa","bbb","ccc","AAA123","ddd","eee","fff,"0000","ggg"
■sed
sed 's/.*,"\([A-Z0-9].*[0-9]\)",.*$/\1/g' aaa
■結果
0000
0000
期待する結果は、
123456
AAA123
なのですが、
期待した結果を取り出すにはどうしたらよいのでしょうか。
お礼
ありがとうございます。 コマンド使い方がよくわからなかったので。 tr で空白を改行にするということだったんですね。 tr ' ' '\n' <fileでうまくいきました。 ありがとうございます。^^