次の内容を含むファイルがあります。
commA6314 ifosfamide 0 12
home5341209 urokinase 6314 37
最初の列を検索して行全体を表示するにはどうすればよいですか?たとえば、ユーザーが検索する場合(6314
最初の行の最初の列に1つがあり、3番目の列と2番目の行に別の1つがある場合)、出力は次のようになります。6314
6314
commA6314 ifosfamide 30 12
答え1
これは典型的なユースケースです。awk
awk '$1 ~ /6314/' file
または、一致させたいパターンを変数として渡す場合
awk -v pat="6314" '$1 ~ pat' file
Perlの同様の方法
perl -ane 'print if $F[0] =~ /6314/' file