我一直在终端中捕捉文件,直到现在......但是这很费时间。我想要的是:
我有一个包含数百个文件的文件夹,我想有效地将几个文件放在一起。 例如,有没有办法选择(在Finder中)五个分割文件;
file.txt.001
,file.txt.002
,file.txt.003
,file.txt.004
..然后在Finder中右键单击它们,然后单击Merge?
我知道当然不可能开箱即用,但是使用Automator动作,Droplet或shell脚本,是可以做到的吗?或者也许为cat-action指定一个键盘快捷键,当在Finder中点击选定的文件时,它们会自动合并到一个新文件并放在同一个文件夹中,其名称基于原始拆分文件?
在这个例子中,file.001到file.004会神奇地出现在同一个文件夹中,就像名为fileMerged.txt的文件一样?
我有一百万种这样的分割文件,因此有效的工作流程可以节省生命。我正在制作一本互动书,出版商给了我这个任务......
答案 0 :(得分:0)
cat * > output.file
用作sh脚本。它将文件的内容传送到output.file
。
*
扩展到目录中的所有文件。
答案 1 :(得分:0)
根据您对文件名的描述,您可以使用bash轻松实现自动化。 e.g。
PREFIXES=`ls -1 | grep -o "^.*\." | uniq`
for PREFIX in $PREFIXES; do cat ${PREFIX}* > ${PREFIX}.all; done
这将合并一个目录中共享相同前缀的所有文件。
ls -1
列出目录中的所有文件(如果跨越多个目录,则可以使用find
。grep -o "^.*\."
将匹配文件名中最后一个点的所有内容(您也可以使用sed -e 's/.[0-9]*$/./'
删除最后的数字.uniq将过滤所有重复项。然后在speech1.txt. sound1.txt.
变量中有PREFIXES
之类的内容。下一行循环遍历这些并单独合并文件组使用*通配符。