一、 shell查找文件命令
使用find命令可以在指定的目录及其子目录下查找文件,命令格式如下:
find [路径] [选项] [表达式]
其中路径是指要查找的目录,选项是find命令的参数,用于指定查找的类型或其他参数,表达式是指要查找的文件名或其他条件。
例如,要在当前目录(包括子目录)下查找所有以“.txt”为后缀名的文件,可以使用以下命令:
find . -name "*.txt"
其中“.”表示当前目录,“-name”是选项,后面跟的是要查找的文件名模式。“*”是通配符,表示任意字符。
二、 shell查看文件是否存在
使用test命令可以测试文件是否存在。test命令有很多选项,其中“-e”表示测试文件是否存在,命令格式如下:
test -e [文件路径]
返回值为0表示文件存在,否则表示文件不存在。可以使用下面的语句在脚本中测试文件是否存在:
if test -e 文件路径; then
echo "文件存在"
else
echo "文件不存在"
fi
三、 shell查找文件中内容
使用grep命令可以在文件中查找指定的内容,并将包含该内容的行输出到屏幕上。命令格式如下:
grep [选项] "要查找的内容" 文件路径
其中选项可以指定搜索选项,如大小写敏感、查找整词等。例如,下面的命令可以在文件file.txt中查找“hello”单词:
grep -w "hello" file.txt
如果要查找多个文件中的内容,可以使用“*”通配符,例如:
grep "hello" /path/to/directory/*
四、 shell查找文件匹配的行数
使用grep命令还可以统计文件中包含某个字符串的行数。可以使用“-c”选项实现,命令格式如下:
grep -c "要查找的内容" 文件路径
如果要查找多个文件的匹配行数,可以使用以下命令:
grep -c "要查找的内容" /path/to/directory/*
五、 shell查找文件夹命令
使用ls命令可以列出当前目录下的所有子目录。命令格式如下:
ls -d */
其中“-d”选项表示列出目录本身,而不是下面的文件。后面的“*/”表示只列出目录,不包括文件。
六、 shell查找文件所在目录
使用dirname命令可以查找给定文件所在的目录路径。命令格式如下:
dirname 文件路径
例如,要查找文件“/home/user/Documents/file.txt”所在的目录,可以使用以下命令:
dirname /home/user/Documents/file.txt
七、 shell查找文件名
使用basename命令可以查找给定路径中的文件名部分。命令格式如下:
basename 文件路径
例如,要查找文件“/home/user/Documents/file.txt”的文件名部分,“.txt”不包含在内,可以使用以下命令:
basename /home/user/Documents/file.txt .txt
八、 shell查找文件夹
使用find命令可以查找指定目录下的所有文件夹。命令格式如下:
find [目录] -type d
其中“-type d”选项表示只查找目录。例如,要在当前目录下查找所有子目录,可以使用以下命令:
find . -type d
九、 shell查找文件父目录
使用cd命令可以进入一个目录,然后使用“..”表示上级目录。例如,要查找目录“/home/user/Documents”所在的父目录,可以使用以下命令:
cd /home/user/Documents/..
pwd
其中“pwd”命令可以显示当前目录的路径。
十、 shell查找文件并存入数组
使用find命令可以将查找到的文件存入一个数组中。可以使用以下语句实现:
arr=($(find [路径] [选项] [表达式]))
例如,要将当前目录下以“.txt”为后缀名的文件存入一个数组中,可以使用以下语句:
arr=($(find . -name "*.txt"))
原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/247982.html