簡體   English   中英

Bash:sed -n參數

[英]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並將其輸入到awkawk -v部分)中。

NR==var確保您獲得與變量對應的行。

然后,您可以更改print $6部分以匹配所需的任何列。 請注意,默認定界符是空格。

當然,正如評論中指出的那樣,您不應該解析ls的輸出。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM