看板 Linux 關於我們 聯絡資訊
大家好 我想請問一下 有辦法 用awk+printf然後用"輸入"的方式叫電腦直接印出某列我要的檔案嗎? ex: cat dataset |awk ' { if($1>=135 && $1<=136 && $2>=50 && $2<=51 && $3>=0.4 && $3<=0.6) printf "%f %f %f %f %f\n",$1, $2, $3, $42, $43} '>data.out 就是在printf那邊 我要印出dataest中 第1, 2, 3, 42, 43列資料到data.out 現在就是我有沒有辦法用輸入的 例如告訴電腦我要輸入五次 每次分別是1 2 3 4 5 or 下次是7 8 2 3 9 有找過一些資料 現在卡在不知道怎麼讓變數活在awk中 (一開始令類型也還沒很懂) 雖然我知道shell scripts不用編譯 但是每次一直改也很煩 不知道沒有辦法? (一樣的工作 給perl或 python去做會比較快嗎?) 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.4.192
rehon:awk -v c1=$1 -v c2=$2 -v '{print $c1" "$c2" "$c3}' 06/23 20:35
rehon:你可以用-v將shell變數傳入awk中 06/23 20:35