我有一个包含几个*.js文件的目录。数量和文件名未知。就像这样:
js/
|- 1.js
|- 2.js
|- blabla.js我需要将这个目录中的所有文件合并到一个merged_dmYHis.js中。例如,如果文件内容是:
1.js
aaa
bbb2.js
ccc
ddd
eeeblabla.js
fffmerged_280120111257.js将包含:
aaa
bbb
ccc
ddd
eee
fff是否有一种使用bash的方法,或者这样的任务需要更高级别的编程语言,比如python或类似的?
发布于 2011-01-28 11:00:45
cat 1.js 2.js blabla.js > merged_280120111257.js一般的解决办法是:
cat *.js > merged_`date +%d%m%Y%H%M`.js只是出于兴趣-你认为用DDMMYYYYHHMM命名这些文件是个好主意吗?按时间顺序(在shell中)对文件进行排序可能很困难。YYYYMMDDHHMM模式怎么样?
cat *.js > merged_`date +%Y%m%d%H%M`.js发布于 2015-10-13 09:32:08
您也可以对传入的文件进行排序,默认的顺序是字母顺序,但通过文件修改时间戳,这个示例从最老到最新:
cat `ls -tr *.js` > merged_`date +%Y%m%d%H%M`.js在本例中,cat从ls命令中获取文件列表,-t按时间戳排序,-r反转默认顺序。
https://stackoverflow.com/questions/4827453
复制相似问题