linux

Linux通配符在Shell脚本中的常见用法

小樊
84
2024-09-03 01:57:51
栏目: 编程语言

在Shell脚本中,通配符(wildcards)是一种模式匹配的方式,用于匹配文件名或路径

  1. 星号(*):匹配任意长度的字符串。例如,*.txt 会匹配所有以 .txt 结尾的文件。
#!/bin/bash
for file in *.txt; do
  echo "Processing $file"
done
  1. 问号(?):匹配单个字符。例如,file?.txt 会匹配 file1.txtfile2.txt 等,但不会匹配 file10.txt
#!/bin/bash
for file in file?.txt; do
  echo "Processing $file"
done
  1. 方括号([]):匹配方括号内的任意一个字符。例如,[a-z].txt 会匹配以小写字母开头的 .txt 文件。
#!/bin/bash
for file in [a-z].txt; do
  echo "Processing $file"
done
  1. 大括号({}):匹配大括号内的任意一个模式。例如,{file1,file2}.txt 会匹配 file1.txtfile2.txt
#!/bin/bash
for file in {file1,file2}.txt; do
  echo "Processing $file"
done
  1. 反斜杠(\):用于转义特殊字符,使其成为普通字符。例如,\*.txt 会匹配文件名为 *.txt 的文件,而不是所有以 .txt 结尾的文件。
#!/bin/bash
for file in \*.txt; do
  echo "Processing $file"
done

这些通配符可以组合使用,以创建更复杂的匹配模式。在编写Shell脚本时,熟练掌握这些通配符的用法可以帮助你更高效地处理文件和目录。

0
看了该问题的人还看了