2009/06/15

[Programming] awk 抓 cmdline

簡單事情簡單做,是程式寫作上面一個很基本的原則。所以我們常常看到在寫 shell script 的時候,會有用 awk, sed, perl, cut, xargs 這些指令出來跑龍套的時候。的確,這些指令是蠻簡單的,像在處理 cmdline 遇到要抓裡面的值的時候,我們會用這樣的手法來抓裡面的值:
$ cat /proc/cmdline
init=/etc/preinit root=/dev/mtdblock4 rootfstype=jffs2 rw mem=56M frst=n ubootver=U-Boot_10
hwaddress=eth0,00:aa:bb:cc:dd:ee console=ttyS0,115200 mtdparts=comcertonand:512k(cfg1),
$ cat /proc/cmdline | awk '{print $2}'|cud -d '=' -f 2
/dev/mtdblock4
ttyS0,115200
$ cat /proc/cmdline | awk 'NR==1{print $2}'|cud -d '=' -f 2
/dev/mtdblock4


呃…真是很爛的寫法。

其實只要一行就夠了:
awk 'BEGIN { RS=" "; FS="="; } $1 == "root" { print $2 }' /proc/cmdline

Shell 真的是蠻簡單的,不過,就是要多練習,多用用,才會顯出老手與菜鳥間的差異。

沒有留言:

[Windows] git-bash 底下的工具

因為工作轉到 Windows 平台上的關係,所以很多工具改到 Windows 上面運作,跟著在 TortoiseGit 底下使用 git-bash 來維護自己的專案原始碼。結果就是裝了前面提過的 auto-hotkey 使用熱鍵來提昇自己的平台操作速度; 但除了 hotkey...