linux炫酷小技能–批量创建目录和文件
今天是生信星球陪你的第24天
你想找辆共享单车,发现满街都是别家车,没有一辆你能骑。
你想学点生信,搜了“初学者教程”,满眼尽是高大上,没有一句能看懂。
终于你跨越茫茫宇宙,来到生信星球,发现了初学者的新大陆!
题目来自生信菜鸟团-生信人的linux考试网站很牛喔。
原网页地址:http://www.bio-info-trainee.com/2900.html
题解
1.创建形如 1/2/3/4/5/6/7/8/9
格式的文件夹系列
mkdir -p 1/2/3/4/5/6/7/8/9/
2.创建 folder1~5
这5个文件夹,然后每个文件夹下面继续创建folder 1~5
这5个文件夹
mkdir -p folder{1..5}/folder{1..5}
3.在2 创建的每个文件夹下都创建文本文件同名me.txt,内容全部是
Go to: http://www.biotrainee.com/
I love bioinfomatics.
And you ?
vi me.txt
输入
Go to: http://www.biotrainee.com/
I love bioinfomatics.
And you ?
复制方法1:echo folder{1..5}/folder{1..5} | xargs -n 1 cp -v me.txt
复制方法2:for dirs in folder{1..5}/folder{1..5}; do cp me.txt $dirs; done
涉及知识点
1.echo命令用于在shell中打印shell变量的值,或直接输出指定的字符串。
2.管道操作 |
连接两个命令
3.xarg命令通俗来讲就是将标准输入转成各种格式化的参数,所以命令[command 1] | xargs [command 2]
就是将command 1
的标准输出结果,通过管道|
变成xargs
的标准输入,然后xargs
再将此标准输入变成参数,传给[command 2]
。这样一来,通过xargs
命令,我们便可以在管道后面使用那些不接收标准输入的命令了。例如[command 1]|xargs ls
n 1–告诉 xargs 命令每个命令行最多使用一个参数,并传给 cp 命令。
cp-v – 详细模式,显示复制细节。
4.方法二用到了bash中的for 循环,搜索得到详解。
总结
1.tree命令以树状图列出目录内容。
2.ls */ 列出目录及以下的子目录。
3.批量新建系列编号1-n的文件或目录,表示为{1..n}
4.对新建的文件需要直接编辑,可以不用touch ,直接vi。
初学生信,很荣幸带你迈出第一步。
我们是生信星球,一个不拽术语、通俗易懂的生信知识平台。需要帮助或提出意见请后台留言或发送邮件到Bioplanet520@outlook.com~
请关注“恒诺新知”微信公众号,感谢“R语言“,”数据那些事儿“,”老俊俊的生信笔记“,”冷🈚️思“,“珞珈R”,“生信星球”的支持!