我有一個文件,其中包含以下內容。如何從unix中的方括號中提取數字
abc.[1-3].title
simple.0[1-2].title
我需要幫助的輸出取如下使用sed的和的awk命令。
abc.1.title
abc.2.title
abc.3.title
simple.01.title
simple.02.title
我有一個文件,其中包含以下內容。如何從unix中的方括號中提取數字
abc.[1-3].title
simple.0[1-2].title
我需要幫助的輸出取如下使用sed的和的awk命令。
abc.1.title
abc.2.title
abc.3.title
simple.01.title
simple.02.title
sed的是用於在個別線簡單的替換,即所有。除此之外,例如您目前的問題,您應該使用awk:
$ cat tst.awk
BEGIN { FS="[][]" }
{
split($2,r,/-/)
for (i=r[1]; i<=r[2]; i++) {
print $1 i $3
}
}
$ awk -f tst.awk file
abc.1.title
abc.2.title
abc.3.title
simple.01.title
simple.02.title
閱讀Arnold Robbins撰寫的Effective Awk Programming第4版。
不錯!我玩過'awk -F'[] [ - ]''{for(i = $ 2; i <= $ 3; i ++)print $ 1 i $ NF}'file'以防止調用split()。 – fedorqui
關於第一句話 - 廢話! Sed也用於製作quines,玩高爾夫球代碼,以及各種其他令人興奮的重要活動! –
@WilliamPursell你是對的。我忘了整個心理鍛鍊方面:-)。我也懷疑一些sed腳本可能會控制天氣... –
請參閱[我如何編輯它](http://stackoverflow.com/posts/38659612/revisions)。對於代碼或示例文件,可以選擇這些行,然後按Ctrl + K使其具有這種效果。 – fedorqui
當然,這將繼續前進。 – Sai
現在可以很好地展示您迄今爲止所嘗試的內容。既然你用awk和sed標記,你必須知道一點! – fedorqui