簡體   English   中英

使用 awk 或 sed 提取文本

[英]Extract text with awk or sed

我想從下面提取和刪除一些文本

[root@test]# du -k./[a-zA-Z0-9] --max-depth=1 | sort -hr

    7789696 ./b/bklee
    946792  ./a
    796588  ./b/bluecyn
    477860  ./b/bborikun
    473652  ./b/bluechiper
    220780  ./a/ara316
    144244  ./a/aceload
    131088  ./b/belivart
    79108   ./a/athlon85
    78644   ./b/beschur512
    66264   ./b/bogdanov
    52460   ./A

    796588  bluecyn
    477860  bborikun
    473652  bluechiper
    220780  ara316
    144244  aceload
    131088  belivart
    79108   athlon85
    78644   beschur512
    66264   bogdanov

我想要的是刪除重復的模式,“./a/”和只打印出像“/a”的行我想弄清楚但因為我是 AWK 和 SED 的初學者,我需要一些幫助。

謝謝!

du -k ./[a-zA-Z0-9] --max-depth=1 | sort -hr | sed -e 's,\./[a-z]/,,; /\.\/[Aa-Zz]/d'

7789696 bklee
796588  bluecyn
477860  bborikun
473652  bluechiper
220780  ara316
144244  aceload
131088  belivart
79108   athlon85
78644   beschur512
66264   bogdanov

像這樣,使用 GNU

sed -E '/\s\.\/\w$/d; s!\./\w/?!!' file
7789696 bklee
796588 bluecyn
477860 bborikun
473652 bluechiper
220780 ara316
144244 aceload
131088 belivart
79108 athlon85
78644 beschur512
66264 bogdanov

暫無
暫無

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

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