以下のfileの最終文字列が、1pで始まる行のみを抽出し、outfile_1に出力するのに、awkを使用しようと考えました。その際、for文を用いることで、11pから始まる行や、15pで始まる行も同時に抽出し、それぞれ別のファイルoutfile_11とoutfile_15に出力できるように、コマンドを記述してみました。しかし、正確でないためか、出力後のファイルには一行もデータが格納されておりませんでした。期待されるファイルが得られるためには、どのように修正すればよろしいでしょうか。
linux
1cat file 2 3出力------------- 4A B 1p_e 5C 1q_c 6D 12p_a 7E F 11p_f 8G 17p_t 9H I 15p_d 10J 1p_f 11K 1p_c 12---------------- 13 14for i in 1 11 15 ;do awk '$NF ~ /^"$i"p.+/' file > outfile$i ; done 15 16cat outfile1 17期待される出力--------- 18A B 1p_e 19J 1p_f 20K 1p_c 21---------------- 22 23cat outfile11 24期待される出力--------- 25E F 11p_f 26---------------- 27 28cat outfile15 29期待される出力--------- 30H I 15p_d 31---------------- 32
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/10/19 02:20
2020/10/19 02:37