繁体   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