如何在文本普通文档中剪切和统计字符串?

时间:2017-03-02 06:45:05

标签: regex linux awk sed

我有一个大文本普通文档,内容请参考这张图片 enter image description here

cat textplain.txt|grep '^\.[\/[:alpha:]]*[\.\:][[:alpha:]]*'

我想要输出结果如下:

./external/selinux/libsepol/src/mls.c
./external/selinux/libsepol/src/handle.c
./external/selinux/libsepol/src/constraint.c
./external/selinux/libsepol/src/sidtab.c
./external/selinux/libsepol/src/nodes.c
./external/selinux/libsepol/src/conditiona.c

问题:  我该怎么办

1 个答案:

答案 0 :(得分:3)

只需使用

重新生成文件
grep -lr des ./android/source/code
  • -l仅列出具有匹配项的文件而不显示其内容
  • 搜索子目录仍然需要
  • -r
  • -n-l没有影响,因此可以省略。 -c代替-l会为每个文件名添加出现次数,但您可能希望| grep -v :0跳过零。

或者,使用cutsort -u

cut -d: -f1 textplain.txt | sort -u
  • -d:分隔列:
  • -f1仅输出第一列
  • -u输出唯一的行