本篇用来记录常用的shell命令
所有html结尾的文件复制到html文件夹(未创建)
你可以使用以下命令在当前文件夹及其子目录下查找 .html
文件,并将其复制到当前文件夹下的 html
文件夹中:
find . -type f -name "*.html" -exec cp {} ./html/ \;
解释一下这个命令:
.
表示当前文件夹,即搜索的起始路径。-type f
表示只搜索普通文件,不包括目录。-name "*.html"
表示搜索文件名以.html
结尾的文件。-exec cp {} ./html/ \;
表示执行cp
命令将找到的文件复制到./html/
目录下。{}
表示找到的每个文件,\;
表示命令结束。
在执行命令之前,请确保当前文件夹下已经存在名为 html
的文件夹,否则可以先使用 mkdir
命令创建它:
mkdir html
请注意,如果复制的文件名在目标文件夹中已存在,将会被覆盖。如果你希望保留原文件名,可以使用 cp -n
命令,即 -exec cp -n {} ./html/ \;
。
所有txt结尾的文件更换为md文件
for file in *.txt;do mv "$file" "${file%.txt}.md";done
第二个方法使用的是 Shell 脚本的语法。Shell 是一种命令行解释器,用于执行命令和脚本。在这个方法中,我们使用了 Shell 的循环和变量扩展功能来实现文件重命名操作。
具体解释一下这个命令:
for file in *.txt; do ... done
:这是一个简单的 for 循环语句,遍历当前目录下所有以.txt
结尾的文件,并将每个文件名赋值给变量file
。-
mv "$file" "${file%.txt}.md"
:这是使用mv
命令进行重命名操作的语句。${file%.txt}
是一种变量扩展语法,表示将变量file
的值中最右侧的.txt
部分移除。然后,我们将其与.md
连接起来,形成新的文件名,并使用mv
命令将文件重命名为新的名称。 -
需要注意的是,这个方法使用的是 Shell 脚本语法,因此在不同的操作系统上可能会有一些差异。上述示例适用于大多数常见的 Linux 和 macOS 系统。在 Windows 上,你可能需要使用适用于 Windows 的 Shell 环境(例如 Git Bash 或 Cygwin)来运行类似的脚本。