代码之家  ›  专栏  ›  技术社区  ›  Hugolpz

如何合并少于x行的文件?

  •  0
  • Hugolpz  · 技术社区  · 3 年前

    给定一个文件夹,其中包含n个具有不同行数的文件:

    $wc -l * | sort -n -r     # list and sort files by number of lines
    > 99860 total
      50000 mr.txt
       4976 स.txt
       4462 प.txt
       3745 म.txt
       3545 क.txt
       3195 व.txt
       2201 न.txt
       2183 ब.txt
       2134 अ.txt
       1789 र.txt
       1666 द.txt
       1623 आ.txt
       1568 ग.txt
       1524 ज.txt
       1507 त.txt
       1376 श.txt
       1132 ल.txt
       1102 ह.txt
       1089 च.txt
       1076 उ.txt
       1025 भ.txt
        809 य.txt
        791 फ.txt
        766 ख.txt
        652 ट.txt
        645 घ.txt
        480 ए.txt
        456 इ.txt
        446 ध.txt
        420 ड.txt
        318 ठ.txt
        273 झ.txt
        182 थ.txt
        163 ओ.txt
        118 छ.txt
        115 ऑ.txt
         64 ऐ.txt
         55 ढ.txt
         44 औ.txt
         29 २.txt
         26 ई.txt
         20 ष.txt
         20 ऊ.txt
         20 १.txt
         14 ऋ.txt
          6 ऱ.txt
          4 ३.txt
          2 ९.txt
          2 ८.txt
          1 ॐ.txt
          1 ४.txt
    

    如何合并少于200行的文件? 我想按字母顺序处理文件,每个内容都附加在文件末尾 output.txt .

    1 回复  |  直到 3 年前
        1
  •  2
  •   Socowi    3 年前

    假设您的文件名没有空格和特殊符号,比如 '"\ ,使用

    wc -l * | awk '$1 < 200 {print $2}' | xargs cat >> merged.txt
    

    因为 *