在Shell腳本中,通配符(wildcards)是一種模式匹配的方式,用于匹配文件名或路徑
*.txt
會(huì)匹配所有以 .txt
結(jié)尾的文件。#!/bin/bash
for file in *.txt; do
echo "Processing $file"
done
file?.txt
會(huì)匹配 file1.txt
、file2.txt
等,但不會(huì)匹配 file10.txt
。#!/bin/bash
for file in file?.txt; do
echo "Processing $file"
done
[a-z].txt
會(huì)匹配以小寫字母開(kāi)頭的 .txt
文件。#!/bin/bash
for file in [a-z].txt; do
echo "Processing $file"
done
{file1,file2}.txt
會(huì)匹配 file1.txt
和 file2.txt
。#!/bin/bash
for file in {file1,file2}.txt; do
echo "Processing $file"
done
\*.txt
會(huì)匹配文件名為 *.txt
的文件,而不是所有以 .txt
結(jié)尾的文件。#!/bin/bash
for file in \*.txt; do
echo "Processing $file"
done
這些通配符可以組合使用,以創(chuàng)建更復(fù)雜的匹配模式。在編寫Shell腳本時(shí),熟練掌握這些通配符的用法可以幫助你更高效地處理文件和目錄。