awk統計功能和配合bash的技巧

初始化和統計功能

awk BEGIN塊
awk 允許定義一個BEGIN塊,用於在開始處理輸入文件中的文本之前執行這個塊中的動作.

awk END塊
awk 允許定義一個END塊, 用於在處理了輸入文件中的所有行之後執行這個塊中的動作.

$ cat /etc/passwd |awk 'BEGIN {count=0;print "[start] user count is ",count} {count=count+1;print $0} END{print "[end] user count is ",count}' 
[start] user count is  0
root:x:0:0:root:/root:/bin/bash
....
[end] user count is  44

批量執行bash命令

$ seq 0 9 |awk 'BEGIN {SRC="./odom/"; DES="/out/"} {print   "cp " SRC "odometry_loc.txt."$1 " " DES $1 "/odometry_loc.txt" } ' |sh
cp .//odom/odometry_loc.txt.0 /out/0/odometry_loc.txt
cp .//odom/odometry_loc.txt.1 /out/1/odometry_loc.txt
cp .//odom/odometry_loc.txt.2 /out/2/odometry_loc.txt
cp .//odom/odometry_loc.txt.3 /out/3/odometry_loc.txt
cp .//odom/odometry_loc.txt.4 /out/4/odometry_loc.txt
cp .//odom/odometry_loc.txt.5 /out/5/odometry_loc.txt
cp .//odom/odometry_loc.txt.6 /out/6/odometry_loc.txt
cp .//odom/odometry_loc.txt.7 /out/7/odometry_loc.txt
cp .//odom/odometry_loc.txt.8 /out/8/odometry_loc.txt
cp .//odom/odometry_loc.txt.9 /out/9/odometry_loc.txt
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章