[Linux] Shell 例题

文件操作

  • 为文件(test.sh)增加执行权限
    • chmod +x test.sh
  • 列出当前文件夹下所有文件(每行输出一个)
1 #!/bin/bash
2  dir=`ls ./`
3  for i in $dir
4  do
5      echo $i
6  done
  • 列出当前文件夹下所有 txt 文件(每行输出一个)
 1 #!/bin/bash
 2 dir=`ls ./`
 3 num=0;
 4 for i in $dir
 5 do
 6 file=$i
 7     if [ ${file##*.} = txt ];then
 8         echo $file
 9         ((num++));
10     fi
11 done 
12 echo $num

  • 读取文件的前100行,另存为另一个文件(b.txt)
    • head -100 a.txt > b.txt
  • 将当前文件夹下所有以ods开头的文件取前三行,并重命名为“原文件名_3”形式
 1 #!/bin/bash
 2 dir=`ls ./`
 3 num=0;
 4 for i in $dir
 5 do
 6 file=$i
 7     if [ ${file%%_*} = ods ];then
 8         head -3 $file > ${file%.*}_3.txt
 9         ((num++));
10     fi
11 done 
12 echo $num
  • 删除当前目录下所有文件名中有“100”的文件
    • find . -name '*100*' -exec rm -rf {} \;
    • 或:find . -name '*100*'|xargs rm -rf;
    • 或:rm *100*;(需要输入y确定)

参考

https://www.cnblogs.com/kex1n/p/7302528.html

https://www.cnblogs.com/chengJAVA/p/5210909.html

猜你喜欢

转载自www.cnblogs.com/cxc1357/p/13399789.html