AcWing
  • 首页
  • 活动
  • 题库
  • 竞赛
  • 应用
  • 更多
    • 题解
    • 分享
    • 商店
    • 问答
    • 吐槽
  • App
  • 登录/注册

好用的Shell批处理命令(kk)

作者: 作者的头像   02的Darling吖 ,  2023-05-26 18:29:39 ,  所有人可见 ,  阅读 32


0


回退到导航分享页

本篇用来记录常用的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)来运行类似的脚本。

0 评论

你确定删除吗?

© 2018-2023 AcWing 版权所有  |  京ICP备17053197号-1
用户协议  |  隐私政策  |  常见问题  |  联系我们
AcWing
请输入登录信息
更多登录方式: 微信图标 qq图标 qq图标
请输入绑定的邮箱地址
请输入注册信息