很多時候我們有需要取出文字中的最後一列,或者比如 ls -l 最後一列為檔名,這裡可以使用多種方法取出最後一列;
舉例說明:
[root@testserver tmp]# ls -l
總用量 1000
-rw-r--r-- 1 root root 925223 6月 15 18:06 0615.txt
-rw-r--r-- 1 root root 84 6月 15 15:07 dir.txt
-rw-r--r-- 1 root root 86 6月 14 12:00 for.sh
-rw-r--r-- 1 root root 715 6月 14 12:09 g.txt
-rw-r--r-- 1 root root 1614 6月 14 12:07 m.txt
-rw-r--r-- 1 root root 37763 6月 14 12:00 size.txt
-rw-r--r-- 1 root root 35579 6月 14 11:51 test.txt
方法1:
直接使用awk $nf取最後一列,問題來了,注意取出來的第一行,包括ls -l 顯示的第一行總用量 1000這個數值;[root@testserver tmp]# ls -l|awk ''
0615.txt
dir.txt
for.sh
g.txt
m.txt
size.txt
test.txt
方法2:
同樣awk $nf,加乙個條件nr>1,跳過第一行[root@testserver tmp]# ls -l|awk 'nr>1 '
0615.txt
dir.txt
for.sh
g.txt
m.txt
size.txt
test.txt
方法3:
使用awk next函式,nr==1 跳過第一行[root@testserver tmp]# ls -l|awk 'nr==1 '
0615.txt
dir.txt
for.sh
g.txt
m.txt
size.txt
test.txt
方法4:
可以寫乙個for迴圈,並定向到乙個檔案中
可以使用for迴圈取檔案列表for i in `ls`;do echo $i>>dir.txt;done;[root@testserver tmp]# cat dir.txt
0615.txt
dir.txt
for.sh
g.txt
m.txt
size.txt
test.txt
awk用法 取列表最後一列
很多時候我們有需要取出文字中的最後一列,或者比如 ls l 最後一列為檔名,這裡可以使用多種方法取出最後一列 舉例說明 root testserver tmp ls l 總用量 1000 rw r r 1 root root 925223 6月 15 18 06 0615.txt rw r r 1 ...
awk 取絕對值最大
root centos6 1 cat infile aaa 1 aaa 2 aaa 3 aaa 28 aaa 22 bbb 2 bbb 4 bbb 6 ccc 2 ccc 3 ccc 8 ccc 10 ddd 2 ddd 4 ddd 12 root centos6 1 root centos6 1 ...
day09 awk 擅長取列 微程式語言
awk 擅長取列 ps 擅長取列 計算 陣列 函式 程式語言 選項 f 指定分隔符 預設的為空白字元為分隔符 fs v 指定內部變數 取反 排除 vofs 指定取列後的分割符 內部命令 內部變數 nr 行號 0 完整的一行內容 n n 是數字 表示取出第幾列 多列用逗號分割 f fs 分隔符的變數 ...