我的某个系统中一直包含文件。例如default76.php
大多数情况下,分机号前只有 2 位数字。
我需要一种方法来找到这些文件并将其打印出来。
答案1
由于扩展名前的数字不固定,因此使用find
:
find /path/to/target/directory -type f -regextype posix-basic -regex '.*[0-9]\.php'
如果需要不区分大小写地匹配扩展名:
find /path/to/target/directory -type f -regextype posix-basic -iregex '.*[0-9]\.php'
user@user-X550CL ~/tmp % tree
.
├── file100.php
├── file10.php
├── file1.php
├── file1.PHP
└── foo
0 directories, 5 files
user@user-X550CL ~/tmp % find . -type f -regextype posix-basic -regex '.*[0-9]\.php'
./file1.php
./file10.php
./file100.php
user@user-X550CL ~/tmp % find . -type f -regextype posix-basic -iregex '.*[0-9]\.php'
./file1.php
./file10.php
./file1.PHP
./file100.php
答案2
这是一种粗鲁的做法:
cd /path/to/your/php/files
find . -type f | grep '\.php$' | grep '[0-9]'
如果目录名称中包含数字,则无法正常工作,否则应该没问题。