
我希望使用 ls -l 和管道顯示目錄中的第 8 個檔案名,例如 ls -l | wc -1 會給我計數,但我想要返回的是目錄列表中的第 8 個檔名,無論它是什麼。我已經查看了 grep 和通配符,但仍然沒有看到哪個命令能給我我正在尋找的結果。
謝謝
答案1
嘗試
ls -l | head -n 9 | tail -n 1
如果你只想要名字,你可以cut
在最後使用
ls -l | head -n 9 | tail -n 1 | tr -s ' ' | cut -d' ' -f8
tr
是將多個空格和製表符替換為一個空格
答案2
另一種方式是這樣的。
ls -l | sed -n '9p'
如果您只需要檔案或目錄名稱,請使用它。
ls -l | sed -n '9p' | awk '{print $9}'
jcubic 你確定這就是你想要的嗎?
ls -l | head -n 9 | tail -n 1 | tr -s ' ' | cut -d' ' -f8
我想他會想要這樣的檔案或目錄名稱。
ls -l | head -n 9 | tail -n 1 | tr -s ' ' | cut -d' ' -f9
答案3
ls | awk 'NR==8'
- 你不需要
ls -l
獲得 1 列輸出,或即使ls -1
您將輸出丟到管道(請參閱例如ls 輸出中檔案名稱之間的神奇分隔符號是什麼?)。 NR==8
只會對第 8 行回傳 true,然後awk
預設操作是列印它。
答案4
只是不要使用-l
LS |頭-8 |尾部-1
您獲得的檔案名稱、ls
命令檔與ls -l
.