嘟嘟社区

[已解决] 20块钱能否求得一个TXT合并小工具


本帖最后由 liumer 于 2022-5-20 14:32 编辑

已求得PY工具一个,谢谢论坛兄弟 。

要求功能如下:
文件夹里有上千个TXT文件 ,由于文件太小,想将其中每2个或3个(这个最好可以自定义)合并成一个,合并后文件名取合并前文件之中的一个文件名即可。

批外理,易语言、PY或其他键鼠类工具做的都 可以。

谢谢!

整了个半成品,最后一次的文件需要手动合并

先写个shell脚本

  1. [[email protected] ~/kafka]$ cat /usr/bin/bbb
  2. #!/bin/bash
  3. echo 合并$1 $2到 $3
  4. cat $1 $2 >> $3
  5. rm $1
  6. rm $2
  7. [[email protected] ~/kafka]$

复制代码

然后再要合并的目录里执行就可以了

  1. ls | xargs -n 3 bbb

复制代码

会输出

  1. [[email protected] ~/kafka]$ ls | xargs -n 3 bbb
  2. 合并test1 test10到 test100
  3. 合并test11 test12到 test13
  4. 合并test14 test15到 test16
  5. 合并test17 test18到 test19
  6. 合并test2 test20到 test21
  7. 合并test22 test23到 test24
  8. 合并test25 test26到 test27
  9. 合并test28 test29到 test3

复制代码

  1. import os
  2. # 需要一下设置两个变量
  3. root_path = r""  # 原始文件目录
  4. new_dir = r""  # 生成目录 需要先创建好
  5. n = 0
  6. tmp_file_name = ""
  7. files_name = os.listdir(root_path)
  8. for file in files_name:
  9.     if n > 2 or tmp_file_name == "":
  10.         tmp_file_name = os.path.join(new_dir, file)
  11.         n = 0
  12.     else:
  13.         n += 1
  14.     file_path = os.path.join(root_path, file)
  15.     with open(file_path, "r", encoding="utf-8") as fn:
  16.         with open(tmp_file_name, "a+", encoding="utf-8") as f:
  17.             f.write(fn.read())

复制代码

百度一下大把

没找到,从昨天开始找到现在没找到,主要就是这每几个合并一起的没有,全部合成一个大文件的找了一堆。

这种自己写一个脚本就行了呀

卟想起床 发表于 2022-5-20 14:00
这种自己写一个脚本就行了呀

我就是不会罗。

我想知道,可以直接用二进制拼接吗?
现在领导要求 我手工合并 ,有5千多个文件 ,愁死我了。
我有,,,pm
直接全部合并成一个文件 然后分割份数

875 发表于 2022-5-20 14:05
直接全部合并成一个文件 然后分割份数

分割也不太好分割,一是分割后的文件名不好弄,二是分割容易把一块内容 分成两块了。。