[英]Bash : sed -n arguments
在讀取ls實例的結果時,我嘗試使用sed從特定行顯示特定術語:
這是我到目前為止所做的:
echo $(ls -lAtro | sed -n '3p' | cut -d' ' -f 6 )
這是閱讀第三行的第六項。 我正在嘗試用一個更簡單的變量替換“ 3p”,該變量將允許執行以下操作:
linetoread=3
echo $(ls -lAtro | sed -n "$linetoread" | cut -d' ' -f 6 )
上面的示例當然行不通,但是您知道了。 我該怎么做呢? 提前致謝。
試試awk
instead-
line=3 ;
ls -lAtro | awk -v var="$line" 'NR==var {print $6}'
這將使用變量line=3
並將其輸入到awk
( awk -v
部分)中。
NR==var
確保您獲得與變量對應的行。
然后,您可以更改print $6
部分以匹配所需的任何列。 請注意,默認定界符是空格。
當然,正如評論中指出的那樣,您不應該解析ls
的輸出。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.