在Linux中批量建立和修改文件或目錄

1. 用一條命令直接建立linux

[fred@Royalmile Auto_Ops]$ touch `seq 10`
[fred@Royalmile Auto_Ops]$ ls
1  10  2  3  4  5  6  7  8  9
[fred@Royalmile Auto_Ops]$ touch linux-{A..G}
[fred@Royalmile Auto_Ops]$ ls
linux-A  linux-B  linux-C  linux-D  linux-E  linux-F  linux-G
[fred@Royalmile Auto_Ops]# echo {01..10}
01  02  03  04  05  06  07  08  09  10
[fred@Royalmile Auto_Ops]# touch {01..10}
[fred@Royalmile Auto_Ops]# ls
01  02  03  04  05  06  07  08  09  10
[fred@Royalmile Auto_Ops]$ mkdir $(echo {a..g})
[fred@Royalmile Auto_Ops]$ ls
a  b  c  d  e  f  g
[fred@Royalmile Auto_Ops]$ mkdir {h..n}
[fred@Royalmile Auto_Ops]$ ls
h  i  j  k  l  m  n

2. 編寫shell腳本使用for循環在/home/fred目錄下批量建立10個文件,文件名分別以1,2,...6結尾
shell

#!/bin/bash
for f in `seq 6`
do
    [ ! -d /home/fred ] && mkdir -p /home/fred
    touch /home/fred-$f
done

3. 編寫shell腳本將以上建立的全部文件的前綴fred改成linux(ls和sed結合實現)centos

#!/bin/bash
[ -d /home/fred ] && cd /home/fred
for f in `ls fred*`
do
    mv $f $(echo $f | sed 's#fred#linux#')
done

4. 使用rename命令直接修更名字bash

[fred@Royalmile Auto_Ops]$ touch linux-{A..G}
[fred@Royalmile Auto_Ops]$ rename linux centos linux??
[fred@Royalmile Auto_Ops]$ ls
centos-A  centos-B  centos-C  centos-D  centos-E  centos-F  centos-G

5. 結合ls和awk實現批量更名ide

[fred@Royalmile Auto_Ops]$ ls /home/fred/
linux-1  linux-2  linux-3  linux-4  linux-5  linux-6
[fred@Royalmile Auto_Ops]$ ls /home/fred/linux-* | awk -F'-' '{print "mv "$0" "$1$2}' | /bin/bash
[fred@Royalmile Auto_Ops]$ ls /home/fred/
linux1  linux2  linux3  linux4  linux5  linux6
相關文章
相關標籤/搜索