vike681 发表于 2018-8-22 10:28:23

shell学习笔记(1)

${string%substring}  把下面所有系统中文件的文件名中的findished内容去掉
  # cd testdir/
  # touch stu_102999_1_finished.jpg stu_102999_2_finished.jpg stu_102999_3_finished.jpg stu_102999_4_finished.jpg stu_102999_5_finished.jpg
  # ls -l
  total 0
  -rw-r--r-- 1 root root 0 Nov 18 06:11 stu_102999_1_finished.jpg
  -rw-r--r-- 1 root root 0 Nov 18 06:11 stu_102999_2_finished.jpg
  -rw-r--r-- 1 root root 0 Nov 18 06:11 stu_102999_3_finished.jpg
  -rw-r--r-- 1 root root 0 Nov 18 06:11 stu_102999_4_finished.jpg
  -rw-r--r-- 1 root root 0 Nov 18 06:11 stu_102999_5_finished.jpg
  改单个文件:
  # file="stu_102999_1_finished.jpg"
  # mv $file ${file%finished*}.jpg
  # ll
  total 0
  -rw-r--r-- 1 root root 0 Nov 18 06:11 stu_102999_1_.jpg
  批量:
  # for file in `ls *.jpg`;do mv $file ${file%finished*}.jpg;done
  # ll
  total 0
  -rw-r--r-- 1 root root 0 Nov 18 06:11 stu_102999_1_.jpg.jpg
  -rw-r--r-- 1 root root 0 Nov 18 06:11 stu_102999_2_.jpg
  -rw-r--r-- 1 root root 0 Nov 18 06:11 stu_102999_3_.jpg
  -rw-r--r-- 1 root root 0 Nov 18 06:11 stu_102999_4_.jpg
  -rw-r--r-- 1 root root 0 Nov 18 06:11 stu_102999_5_.jpg
  #
  # vim chang_file_name.sh
  for file in `ls *.jpg`;
  do
  mv $file ${file%finished*}.jpg
  done
  # echo ${file%.html}.HTML
  a.HTML
  # echo ${file%.html} | tr "" ""
  A

页: [1]
查看完整版本: shell学习笔记(1)