簡體   English   中英

Sed,Awk用於組合兩個cut語句的輸出

[英]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 ,我認為你不需要cutsed 您可以執行以下操作,但我必須相信您的字段編號

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.

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