Shell中如何獲取檔案指定行

2021-09-07 05:31:28 字數 661 閱讀 7092

比如要獲取/etc/passwd檔案, 要獲取其第6-10行,並顯示每行的行號。總結一下,方法有很多,行號的顯示可以借助cat -n引數,或者sed =來顯示。 小結一下,可以有以下方法來獲取。 

# 1). -n顯示行號,tail -n +6顯示第6行之後的行,結合head -n 5,獲取前面5行,剛好6-10

$ cat -n /etc/passwd | tail -n +6 | head -n 5

# 2). 先用head -n 10來獲取前10行,再結合tail -n 5獲取後面5行,剛好也是6-10行

$ cat -n /etc/passwd | head -n 10 | tail -n 5

# 3). cat -n來顯示行號,再用awk中$1來判斷行號範圍

$ cat -n /etc/passwd | awk '($1 > 1 && $1 < 11)'

# 4). 借助於6,10p來列印第6行到第10行

$ cat -n /etc/passwd | sed -n '6,10p'

# 5). =列印行號,使用n;來獲取下一行,再用\t來替換換行符,最後使用6,10p來獲取

$ sed = /etc/passwd | sed 'n;s/\n/\t/' | sed -n '6,10p'

Python如何獲取檔案指定行的內容

linecache,可以用它方便地獲取某一檔案某一行的內容。而且它也被 trxjkzenlaceback 模組用來獲取相關原始碼資訊來展示。用法很簡單 import linecache linecache.getline etc passwd 4 sys x 3 3 sys dev bin sh n...

shell中對檔案指定行的操作

1 awk1 awk 可以設定條件來輸出檔案中m行到n行中每行的指定的k欄位,使用格式如下 awk nr m,nr n path filename m,n,k表示實在的數值,其中k為0 9。如果要用變數來表示m,n的值,則變數需要用單引號將其引起來。nr,是awk命令在此用法下的規定字段 path ...

shell awk讀取檔案中的指定行的指定字段

awk指定讀取檔案中的某一行的某個字段 awk 可以設定條件來輸出檔案中m行到n行中每行的指定的k欄位,使用格式如下 awk nr m,nr n path filename m,n,k表示實在的數值。如果要用變數來表示m,n的值,則變數需要用單引號將其引起來。nr,是awk命令在此用法下的規定字段 ...