Linux批量创建文件的命令,Linux中常用的批量操作文件命令

1.批量创建00n形式目录:

#!/bin/bash

no=001

while [ "$no" -le "100" ]

do

printf "%03d\n" $no | xargs -i mkdir test{}

no=`expr $no + 1`;

done

2.批量创建文件:

目录下文件如下:

-rw-r--r--  1 root root     0 Mar 14 14:45       20110312.112005.zfxx.00.10.8191351.16491.tar.bz2

-rw-r--r--  1 root root     0 Mar 14 14:45       20110312.175006.xtgl.00.10.8192009.16492.tar.bz2

-rw-r--r--  1 root root     0 Mar 14 14:45       20110312.180005.zfyj.00.10.8192026.16493.tar.bz2

-rw-r--r--  1 root root     0 Mar 14 14:45       20110312.181005.zfgw.00.10.8192043.16494.tar.bz2

-rw-r--r--  1 root root     0 Mar 14 14:45       20110312.182005.zfxx.00.10.8192064.16495.tar.bz2

-rw-r--r--  1 root root     0 Mar 14 14:45       20110313.105005.xtgl.00.10.8193680.16496.tar.bz2

-rw-r--r--  1 root root     0 Mar 14 14:45       20110313.110006.zfyj.00.10.8193697.16497.tar.bz2

-rw-r--r--  1 root root     0 Mar 14 14:45       20110313.111005.zfgw.00.10.8193718.16498.tar.bz2

-rw-r--r--  1 root root     0 Mar 14 14:45       20110313.112005.zfxx.00.10.8193739.16499.tar.bz2

-rw-r--r--  1 root root     0 Mar 14 14:45       20110313.175005.xtgl.00.10.8194393.16500.tar.bz2

-rw-r--r--  1 root root     0 Mar 14 14:45       20110313.180005.zfyj.00.10.8194410.16501.tar.bz2

-rw-r--r--  1 root root     0 Mar 14 14:45       20110313.181006.zfgw.00.10.8194427.16502.tar.bz2

-rw-r--r--  1 root root     0 Mar 14 14:45       20110313.182005.zfxx.00.10.8194448.16503.tar.bz2

-rw-r--r--  1 root root     0 Mar 14 14:45       20110314.105005.xtgl.00.10.8196381.16504.tar.bz2

-rw-r--r--  1 root root     0 Mar 14 14:45       20110314.110005.zfyj.00.10.8196401.16505.tar.bz2

-rw-r--r--  1 root root     0 Mar 14 14:45       20110314.111005.zfgw.00.10.8196425.16506.tar.bz2

-rw-r--r--  1 root root     0 Mar 14 14:45       20110314.112005.zfxx.00.10.8196446.16507.tar.bz2

如何批量在同目录下新建同名的sent文件

如:     20110312.111005.zfgw.00.10.8191323.16490.tar.bz2 新建一个同名文件为:   20110312.111005.zfgw.00.10.8191323.16490.sent

touch `ls *tar.bz2|sed 's/.tar.bz2/.sent/g'`

3.批量修改文件名:

有一堆文件: adfab-afdafd-afda-12-34.data adfab-afdafd-afda-12-34.datb adfa-ewee-fdaf-12-34.datb afdafd-ad-ad-23-35.data 。。。。。。。。 想变成如下: adfab-afdafd-afda-12-1.dat adfab-afdafd-afda-12-2.dat adfa-ewee-fdaf-12-3.dat afdafd-ad-ad-23-4.dat 。。。。。。。。。 要求把后缀改成dat,.dat前面的数字按顺序排一下,只修改.dat前面的数值即可。 注意该目录下还有其他文件,所以做处理时一定要加*.dat*匹配一下 ls|awk -F"[-.]" -vOFS="-" '{i=$0;NF--;$NF=++j;system("mv "i" "$0".dat")}' (j=0;for i in *;do : $((j++));mv -i "$i" "${i%-*}"-$j.dat;done) 此问题解决了,谢谢楼上的各位,集合各位的精华,修改了一下,可以在我的环境实现了     counter=1     for file in `ls *.dat*`     do             newfile=`echo $file|sed "s/\(-\)\([0-9]*\)\(.dat\)/\1${counter}\3/"`     mv $file $newfile     counter=`expr $counter + 1`     done     exit 0

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值