Linux技巧(三): seq命令 / mkdir -p 批量创建/删除文件夹 详解

前言

seq命令,它就像一把尖刀,不用则已,使用得当会让你爱不释手。其作用主要是:产生从某个数另外一个数之间的所有整数

语法格式:
seq [参数]... 尾数
seq [参数]... 首数 尾数
seq [参数]... 首数 增量 尾数 

配备其-f、-s、-w参数,威力更为强大

一、不带任何参数示例

#seq 5  打印1-5
#seq 2 6  打印2-6
#seq 1 2 10 从1打印到10,增量为2

  

二、带参数示例

1.-f,format 指定格式

-f不写,默认的-f格式就是 %g

只有当-f指定位宽数,大于等于被打印数字中最大数字的位宽时才生效。

注意:不能和-w一起使用,因为两者都是格式化,只是格式化的方式不同,同时使用会造成冲突而报错

1.默认不足位数用空格补齐

#seq 9 11
#seq -f "%1g" 9 11
#seq -f "%2g" 9 11
#seq -f "%3g" 9 11
#seq -f "%4g" 9 11
#seq -f "%5g" 9 11

 注:%2g,%3g,%4g,%5,它们的意思依次是位宽分别为2/3/4/5,不足位前面用0填充。

2.指定不足位数用0补齐

#seq -f "str%01g" 9 11
#seq -f "str%02g" 9 11
#seq -f "str%03g" 9 11
#seq -f "str%04g" 9 11

注:%前面的字符,可以据需添加,也可以不要,重点看用0补全。

  

3.-f不生效的场景

#seq -f "%2g" 999 1005  不生效
#seq -f "%3g" 999 1005  不生效
#seq -f "%4g" 999 1005  生效

2.-w,width 指定输出数字同宽,不足位数前面补0

-w-f 的一种低级用法,-w的效果-f也可以实现,故两者不可以同时使用。

#seq -w 98 101 
#seq -f "%03g" 98 101

   

3.-s,separator指定分隔符(默认是回车),\n不能作为分隔符

\n是换行符,当不带任何参数时,seq本身默认就是以Enter换行符来展示结果的,所以不需要用\n画蛇添足,得出错误结果。

1.-s " " 指定分隔符为空格 

#seq -f "str%03 g" 9 11   不指定分隔符,默认是换行
#seq -s " " -f "str%03 g" 9 11  指定分隔符为空格

  

2.-t 用tab作为分隔符

#seq -s" `echo -e "\t"` " 9 11

注:该方式使用了命令替换,也就是说,先使用echo命令输出制表符,然后用输出的制表符作为seq命令输出数字的连接符。

3.\n是换行符不能作为分隔符,本身默认Enter换行

\n是换行符会得到一个错误的结果,不带-s参数,默认自动换行。

#seq -s"`echo -e "\n"`" 9 11 得到一个错误的结果
#seq -s" `echo -e "\n"` " 9 11 因为前后有空格,最终以空格分隔

三、利用seq特性批量创建文件夹 

1.第一种方式

#ls
#mkdir $(seq -f 'test%02g' 1 5) 批量创建文件夹
#ls
#rm -rf *  递归批量强制删除文件夹
#ls

2.第二种方式

#rm -rf *
#ls
#seq -f "test%03g" 1 5 | xargs mkdir
#ls

通过管道,把前面的输出结果作为管道后面的输入参数 

  

注:rm 命令-f,force 强制的意思,-r,recursion 递归,批量删除文件可以使用rm -f *.* 

四、扩展(批量创建文件夹)

1.一次性级联创建多级目录链

#rm -rf *
#ls
#mkdir -p  /opt/app/myapp/src/main/java/ 该写法在很老的linux版本中有效,在7+版本中无效
#mkdir -p ./opt/app/myapp/src/main/java/ 正确写法
#ls
#tree 以树状图展示当前目录层级

2.一次性级联创建多级+平级目录

1.示例一:一次创建多级不同的目录

#rm -rf * 
#ls
#mkdir -p src/{{main,test}/{java,resources},main/webapp}  注:目录下有子目录,则各目录层级需用大括号括起来,中间用/分隔
#ls
#tree 展示目录层级

 2.示例二:一次创建多个平级目录,下面都分别创建同一个文件夹

#rm -rf 8
#ls
#mkdir -p Project/{a,b,c,d}/src
#ls
#tree

尾言

        seq的主要功能是根据指定格式,打印指定范围的数字,也可以使用它批量创建文件夹。

mkdir -p 本身就是批量创建文件夹,两者各有千秋,说说你更喜欢哪一种?

如果你觉得还不错,赶快点赞收藏吧!

  • 5
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值