私はこの質問の解決策を見つけ出そうとしていました。awk
ソリューションに使いたかった。
私の入力ファイルは以下のようなものです。
-bash-3.2$ cat file
ramesh
ramesh_venkat
ramesh3_venkat3
ramesh4
ramesh5
venkat
venkat3
venkat4
私は、使用awk
後に第2の値を抽出するためのコマンドを_
以下のように。
awk -F "_" '{print $2}' file
ただし、上記のコマンドでは正しい値が出力されますが、出力に空白行が表示されます。2つの質問があります。
質問1
私は取得するようにはどうすれば出力で空白行を削除することができますvenkat
し、venkat3
出力には?
私が使用している場合はprintf
代わりにprint
私の中にawk
、私が得るvenkatvenkat3
私が達成したかったされていない出力として。次のような出力が必要です
venkat
venkat3
質問2
これらの値を連想配列などとして使用して、値が実際に$1
列にあるかどうかをどのように確認できますか?
私は何かを達成したかったのですが、
awk -F "_" '$2==1{print $1}' file
編集
私はawk
ステファンの解決に気づきませんでした。私が言ったのと同じことをしていますか?
awk以外については、シェルのファイルから空白行を削除する方法を
—
kenorb
awk
は同じことをしていません。アプローチでは、単語がで区切られている場合にのみ、別の単語に含めることができると想定してい_
ます。OPの例についても同様ですが、投稿された回答はすべて、doglion
だけでなくのようなケースにも対応していdog_lion
ます。