我想使用*当前使用的文件名。如何获取文件的名称?
答案1
如果要使用*
通常用作 bash 通配符的星号字符来选择多个文件,则需要用引号括住文件名或使用*
反斜杠转义\
。示例:
$ touch '*.jpg'
$ touch 'mypicture.jpg'
$ ls
'*.jpg' mypicture.jpg
$ rm '*.jpg'
$ ls
mypicture.jpg
您还可以使用相同的脚本来\*.jpg
代替'*.jpg'
。
答案2
*.jpg
将扩展为当前目录下的每个 .jpg 文件。如果执行rm *.jpg
,所有这些文件都将被删除。通配符的 shell 扩展*
不会将结果存储为单独的变量,也不会为您提供在扩展集中引用单个结果的方法。
如果您希望对与通配符表达式匹配的每个文件进行操作,则可能需要使用 for 循环。使用循环可以将文件名分配给您在每次运行循环时选择的变量。例如:
for file in *.jpg; do
echo "$file"
done
将echo
匹配的每个文件*.jpg
。当然,您可以在循环内使用更复杂的命令,包括其他条件语句,例如if
语句。
答案3
显示所有按*.jpg
类型指示的文件:
ls *.jpg
该命令rm *.jpg
将删除所有这些文件。