linux

Linux文件管理:如何使用通配符进行批量操作

小樊
45
2025-05-03 23:13:39
栏目: 智能运维

在Linux中,通配符是一种非常强大的工具,可以帮助我们进行批量操作

  1. *(星号):匹配任意长度的任意字符。
  2. ?(问号):匹配任意单个字符。
  3. [ ](方括号):匹配方括号内的任意一个字符。
  4. { }(大括号):匹配大括号内的任意一个字符串。

以下是一些使用通配符进行批量操作的示例:

  1. 列出当前目录下所有以.txt结尾的文件:
ls *.txt
  1. 将当前目录下所有以.txt结尾的文件重命名为以.bak结尾:
for file in *.txt; do mv "$file" "${file%.txt}.bak"; done
  1. 查找当前目录及其子目录下所有以.txt结尾的文件,并将它们移动到名为text_files的目录中:
mkdir text_files
find . -type f -name "*.txt" -exec mv {} text_files/ \;
  1. 将当前目录下所有图片文件(如.jpg.png.gif)的尺寸调整为宽度为300像素,高度自适应:
for file in *.jpg *.png *.gif; do
  convert "$file" -resize 300x300\> "${file%.*}_resized.${file##*.}"
done

这里使用了convert命令,它是ImageMagick工具的一部分。如果尚未安装,请先运行sudo apt-get install imagemagick(对于Debian/Ubuntu系统)或sudo yum install imagemagick(对于RHEL/CentOS系统)。

  1. 删除当前目录下所有以~(临时文件)结尾的文件:
rm ~*

在使用通配符时,请务必小心,因为它们可能会导致意外的文件操作。在执行批量操作之前,建议先使用echo命令查看将要操作的文件列表,例如:echo *.txt

0
看了该问题的人还看了