linux查找当前目录以及子目录下所有.sh文件;
时间: 2023-09-12 15:05:11 浏览: 531
可以使用 `find` 命令来查找当前目录以及子目录下所有 `.sh` 文件,命令如下:
```
find . -name "*.sh"
```
其中,`.` 表示当前目录,`-name` 表示按照文件名进行匹配,`*.sh` 表示匹配文件名以 `.sh` 结尾的文件。执行以上命令后,会列出所有符合条件的文件路径。
相关问题
写一个shell脚本,查找linux目录下的所有.txt文件是否包含某个字段
好的,我可以为您编写一个查找Linux目录下所有.txt文件中是否包含特定字符串的Shell脚本。请按以下步骤进行操作:
1. 打开一个文本编辑器,如vi或nano。
2. 在编辑器中输入以下Shell脚本代码:
```
#!/bin/bash
# 修改此处为要查找的目录
directory=/linux
# 修改此处为要查找的字符串
string="example"
# 查找目录下所有的 .txt 文件并搜索字符串
for file in $(find $directory -type f -name "*.txt")
do
if grep -q $string "$file"
then
echo "目录$file 包含字符串"
else
echo "目录$file 不包含字符串"
fi
done
```
3. 保存脚本并退出编辑器。
4. 在终端命令行中执行以下命令以使脚本可执行:
```
chmod +x script.sh
```
5. 执行脚本以开始搜索:
```
./script.sh
```
6. 脚本将搜索目录及其子目录中所有.txt文件,并输出它们是否包含指定的字符串。
希望这个脚本能够满足您的需求。如果您有任何其他问题,请告诉我。
linux将当前目录下所有子目录下以a开头的.cpp文件改名为以b开头的.c文件
你可以使用以下命令来实现这个操作:
```
find . -type f -name "a*.cpp" -exec sh -c 'mv "$0" "${0%/*}/b${0##*/.cpp}.c"' {} \;
```
这个命令会在当前目录下查找所有以a开头的.cpp文件,并将它们重命名为以b开头的.c文件。注意,这个命令会递归地查找所有子目录下的文件。