合并目录中的所有文件到一个使用bash [英] Merge all files in a directory into one using bash

查看:128
本文介绍了合并目录中的所有文件到一个使用bash的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有几个* .js文件的目录。数量和文件名是未知的。事情是这样的:

  JS /
 | - 1.js
 | - 2.js
 | - blabla.js

我需要的所有文件合并在此目录中到一个 merged_dmYHis.js 。例如,如果文件内容是:

1.js

  AAA
BBB

2.js

  CCC
DDD
EEE

blabla.js

  FFF

merged_280120111257.js 将包含:

  AAA
BBB
CCC
DDD
EEE
FFF

有没有办法使用bash做,或者这样的任务需要更高层次的编程语言,如Python或类似的?


解决方案

 猫1.js 2.js blabla.js> merged_280120111257.js

一般的解决办法是:

 猫的* .js> merged_`date +%D%M%Y%H%M`.js

只是出于兴趣 - 你认为这是一个好主意来命名与DDMMYYYYHHMM的文件?可能难以将文件(内壳)按时间顺序排序。如何有YYYYMMDDhhmm模式?

 猫的* .js> merged_`date +%Y%M%D%H%M`.js

I have a directory with several *.js files. Quantity and file names are unknown. Something like this:

js/
 |- 1.js
 |- 2.js
 |- blabla.js

I need to merge all the files in this directory into one merged_dmYHis.js. For example, if files contents are:

1.js

aaa
bbb

2.js

ccc
ddd
eee

blabla.js

fff

The merged_280120111257.js would contain:

aaa
bbb
ccc
ddd
eee
fff

Is there a way to do it using bash, or such task requires higher level programming language, like python or similar?

解决方案

cat 1.js 2.js blabla.js > merged_280120111257.js

general solution would be:

cat *.js > merged_`date +%d%m%Y%H%M`.js

Just out of interest - do you think it is a good idea to name the files with DDMMYYYYHHMM? It may be difficult to sort the files chronologically (within the shell). How about the YYYYMMDDHHMM pattern?

cat *.js > merged_`date +%Y%m%d%H%M`.js

这篇关于合并目录中的所有文件到一个使用bash的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆