我正在写一个bash脚本
我的文件如下:
file="${nodeID}_00000_19700101010${ts}_udp_filtered.pcap"
。是否可以代替00000
使用任何5位数字?我想过使用
file="${nodeID}_
*_19700101010${ts}_udp_filtered.pcap"
有时我有00001,有时是00004等。
答案 0 :(得分:4)
像
这样的东西 echo "${nodeID}"_[0-9][0-9][0-9][0-9][0-9]_19700101010"${ts}"_udp_filtered.pcap
注意,*
和[something]
不会在引号中展开,因此上面只引用变量。
答案 1 :(得分:0)
for match in ${nodeID}_*_19700101010${ts}_udp_filtered.pcap
do
#echo $match
#do something with $match
#file=$match
done
这将找到目录中的所有匹配项,并允许您对它们执行某些操作。星号将匹配任何字符串,而不仅仅是5位数字。您可以在正则表达式中更具体,但如果您知道文件名的格式,则可以确定*是安全还是需要更具体。