溫故知新:
在awk命令中還可以加入一些描述性的字符串,命令如下:其中, \為續航符號
goddog@ubuntu:~$ ls -lF /boot | awk '{ totalsize += $5} END { print " /boot directory has a total of " totalsize " bytes used." }'
/boot directory has a total of 53475010 bytes used.
這就容易閱讀多了。還可以在awk命令的命令表達式中加入NR變量在顯示文件大小的總和的同時還顯示文件的總數,命令如下:
goddog@ubuntu:~$ ls -lF /boot | awk '{ totalsize += $5} END { print " /boot directory has a total of " totalsize " bytes used across "NR" files." }'
/boot directory has a total of 53475010 bytes used across 10 files.
如果你經常使用到上面的組合命令,可以使用下列的命令將其存入一個名為script1(文件名可以隨便起)的正文文件中。首先,在終端窗口中輸入 cat << EOF > script1.該命令的含義是接收來自標準輸入(鍵盤)的信息並以EOF(End Of File)作為輸入的結束符,並將所有的標準輸出都重定向輸入script1 文件中,其中,加粗的內容是你要輸入的,>符號是系統自動顯示的,\為續行符號,而EOF是文件(輸入)結束符。
goddog@ubuntu:~/example$ cat << EOF > script1
> { totalsize += $5}
> END { print "/boot dirctory has a total of " \
> totalsize " bytes used across "NR" files." }
> EOF
生成這個文件以後可以用ls命令驗證一下:
goddog@ubuntu:~/example$ ls -l s*
-rw-r--r-- 1 goddog goddog 131 4月 23 17:09 script1
確認生成後,可以使用下列組合命令來列出/boot目錄中文件大小的總和以及文件的總數了。在awk命令中-f選項表示這個命令要從緊跟在該選項之後的文件(script1)中獲取命令表達式。
goddog@ubuntu:~/example$ ls -lF /boot | awk -f script1
/boot directory has a total of 53475010 bytes used across 10 files.
今天就分享這麼多了,謝謝欣賞!^_~