Cat选择的文件快速简便吗?

时间:2011-02-17 15:01:22

标签: file merge terminal cat

我一直在终端中捕捉文件,直到现在......但是这很费时间。我想要的是:

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

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

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

我知道当然不可能开箱即用,但是使用Automator动作,Droplet或shell脚本,是可以做到的吗?或者也许为cat-action指定一个键盘快捷键,当在Finder中点击选定的文件时,它们会自动合并到一个新文件并放在同一个文件夹中,其名称基于原始拆分文件?

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

我有一百万种这样的分割文件,因此有效的工作流程可以节省生命。我正在制作一本互动书,出版商给了我这个任务......

2 个答案:

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