1

到目前为止,我一直在终端中处理文件.. 但是这样做很耗时。我想要的是这样的:

我有一个包含数百个文件的文件夹,我想有效地将​​几个文件放在一起。例如,有没有办法选择(在 Finder 中)五个拆分文件;

file.txt.001, file.txt.002, file.txt.003,file.txt.004

..然后在Finder中右键单击它们,然后单击合并?

我知道这当然不可能开箱即用,但是使用 Automator 操作、droplet 或 shell 脚本,是否可以做到这一点?或者也许为该 cat-action 分配一个键盘快捷键,当在 Finder 中点击选定文件时,将自动合并到一个新文件并放置在同一个文件夹中,名称基于原始拆分文件?

在这个例子中,file.001 到 file.004 会神奇地出现在同一个文件夹中,就像一个名为 fileMerged.txt 的文件?

我有一百万个这样的拆分文件,所以一个有效的工作流程将是一个救生员。我正在写一本互动书,出版商给了我这个任务..

4

2 回答 2

0

从您对文件名的描述来看,您可以使用 bash 轻松实现自动化。例如

PREFIXES=`ls -1 | grep -o "^.*\." | uniq`
for PREFIX in $PREFIXES; do cat ${PREFIX}* > ${PREFIX}.all; done

这将合并一个目录中共享相同前缀的所有文件。

ls -1列出目录中的所有文件(如果它跨越多个目录,则可以使用findgrep -o "^.*\."将匹配所有文件名中的最后一个点(您也可以使用sed -e 's/.[0-9]*$/./'删除最后一个数字。uniq 将过滤所有重复项。然后你有类似的东西speech1.txt. sound1.txt.PREFIXES变量中。下一行循环遍历这些文件并使用 * 通配符单独合并文件组。

于 2011-02-17T15:26:37.990 回答
0
cat * > output.file   

作为 sh 脚本工作。它将文件的内容传送到output.file. *扩展到目录中的所有文件。

于 2011-02-17T15:05:49.317 回答