[英]Sed, Awk for combining the output of two cut statements
我正在嘗試將以下輸出組合成一個命令。 問題是我試圖抓住的字段是相反的順序。 我被告知cut不支持“反向”選項並且為此目的使用AWK但它並沒有最終為我的目的而工作。 我正在嘗試將ls-l的輸出對着/ dev / block返回分區,並根據命令的輸出自動為每個輸出行構建一個dd if = / of =。
我嘗試將輸出管道輸出到awk:
cut -d' ' -f23,25 ... | awk '{print $2,$1}'
但是,結果是當使用sed輸入前綴和后綴時,它不是以適當的順序。
我構建了下面的兩個語句,它們分別返回預期的輸出,只是尋找“正確”的方式,使用sed / awk以最有效的方式組合這兩個語句。
ls -l /dev/block/platform/msm_sdcc.1/by-name/ | cut -d' ' -f 25 | sed "s/^/dd if=/"
ls -l /dev/block/platform/msm_sdcc.1/by-name/ | cut -d' ' -f 23 | sed "s/.*/of=\/external_sd\/&.dsk/"
任何幫助將不勝感激。
謝謝。
如果你已經使用awk
,我認為你不需要cut
或sed
。 您可以執行以下操作,但我必須相信您的字段編號
ls -l /dev/block/platform/msm_sdcc.1/by-name | awk '{print "dd if=/"$25 " of=/" $23 ".dsk"}'
awk將在所有空格上分割,而不僅僅是空格字符,所以字段可能會移動一些,盡管它也可能更可靠。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.