awk取文字列 awk用法 取列表最後一列

2021-10-16 13:43:59 字數 1379 閱讀 1835

很多時候我們有需要取出文字中的最後一列,或者比如 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 分隔符的變數 ...