使用bash,如何删除特定目录中所有文件的扩展名?

2023-12-31

我想保留这些文件但删除它们的扩展名。这些文件的扩展名不同。我的最终目标是删除它们的所有扩展并将它们更改为我选择的一个扩展。我已经把第二部分写下来了

到目前为止我的代码:

#!/bin/bash
echo -n "Enter the directory: "
read path
            #Remove all extensions
find $path -type f -exec mv '{}' '{}'.extension \; #add desired extension

您不需要外部命令find为此,但要这样做bash独自的。下面的脚本从文件夹中的所有文件中删除扩展名path.

for file in "$path"/*; do
    [ -f "$file" ] || continue
    mv "$file" "${file%.*}"
done

使用理由[ -f "$file" ]仅用于安全检查。 glob 表达式 "$path"/* 可能最终不会列出任何文件,在这种情况下mv由于没有文件,命令将失败。这[ -f "$file" ] || continue条件通过退出循环来保护这一点$file变量为空,其中[ -f "$file" ]返回失败错误代码。这||当在复合语句中使用时,如果前一个命令失败就会运行,所以当continue接下来,for 循环被终止。

如果您想添加新扩展,只需执行以下操作

mv "$file" "${file%.*}.extension"
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用bash,如何删除特定目录中所有文件的扩展名? 的相关文章

  • grep 跨文件的最后 n 个匹配

    我正在使用 grep 提取一组文件中的行 grep 一些字符串 log 是否可以将每个文件的最大匹配数限制为每个文件的最后 n 个匹配项 好吧 我认为 grep 不支持限制从文件末尾开始的 N 个匹配 所以这就是你必须做的 ls log w
  • 使用inotify监控文件

    我正在使用 inotify 来监视本地文件 例如使用 root temp inotify add watch fd root temp mask 删除该文件后 程序将被阻止read fd buf bufSize 功能 即使我创建一个新的 r
  • 如何像C99一样使用make和编译?

    我正在尝试使用 Makefile 编译 Linux 内核模块 obj m main o all make C lib modules shell uname r build M PWD modules clean make C lib mo
  • 将 ASCII 字符转换为“”unicode 表示法的脚本

    我正在对 Linux 区域设置文件进行一些更改 usr share i18n locales like pt BR 并且需要格式化字符串 例如 d m Y H M 必须以 Unicode 指定 其中每个 在本例中为 ASCII 字符表示为
  • 如何在 Linux 中制作一个将文件转换为大写的 x86 汇编程序?

    我找到了一个名为 ProgrammingGroundUp 1 0 booksize pdf 的 pdf 文件 其中一个项目是制作一个汇编程序 该程序接收文件并将其转换为大写 section data CONSTANTS system cal
  • 在 Bash 中使用“$RANDOM”生成随机字符串

    我正在尝试使用 Bash 变量 RANDOM创建一个由包含整数和字母数字的变量中的 8 个字符组成的随机字符串 例如 var abcd1234ABCD 我怎样才能做到这一点 使用参数扩展 chars 是可能的字符数 是模运算符 chars
  • Github 操作 - 错误:进程已完成,退出代码为 1

    我正在尝试设置 github 操作来部署我的应用程序 My bash 启动部署过程的脚本如下所示 bin sh set e vendor bin phpunit git push true git checkout production g
  • 如何在变量中存储标准错误

    假设我有一个如下所示的脚本 无用 sh echo This Is Error 1 gt 2 echo This Is Output 我还有另一个 shell 脚本 也无用 sh useless sh sed s Output Useless
  • 如何使用 sed 交换两行?

    有谁知道如何更换line a with line b and line b with line a使用 sed 编辑器在文本文件中 我可以看到如何用保留空间中的一行替换模式空间中的一行 即 Paco x or Paco g 但是如果我想采取
  • 如何在 Linux 上重新实现(或包装)系统调用函数?

    假设我想完全接管 open 系统调用 也许要包装实际的系统调用并执行一些日志记录 一种方法是使用 LD PRELOAD http scaryreasoner wordpress com 2007 11 17 using ld preload
  • 将 file.lib 构建为可在 linux 上使用的 file.a

    我正在尝试将 api 从 Windows 移植到 Linux 到目前为止 我已经完成了 file cpp 和 file h 的工作 但我仍然有一个指定给 Windows 的库 lib 这是 api 工作所必需的 我怎样才能从这个库构建一个可
  • Bash脚本无法执行Go命令

    我正在尝试编写一个 bash 脚本来自动在不同的目录中运行 go get install 相关部分在这里 cd web go get cd web go install cd services go get cd services go i
  • 如何将文本文件中的变量获取到 Bash 变量中

    简单的问题 在 BASH 中 我试图读取 pid 文件来终止进程 如何将该文件读入变量 我发现的所有示例都试图以多行方式阅读 我只想读取仅包含 PID 的一个文件 bin sh PIDFile var run app to kill pid
  • 如何从内部找到C++ Linux程序的完整路径?

    我有这个要求 我需要从内部找到 C 程序的完整路径 对于Windows 我有以下解决方案 argv 0 可能包含也可能不包含完整路径 但我需要确定 TCHAR drive MAX DRIVE dir MAX DIR base MAX FNA
  • 检测后台操作

    在C中 检测程序在 后台模式 下调用的方法是什么 我有一个程序想要以交互方式或在后台启动 我怎样才能检测到我不应该从标准输入读取并以 已停止 tty 输入 状态结束 我应该测试 stdin 是否已关闭 我怎样才能做到这一点 编辑 isatt
  • Bash - 转义 SSH 命令

    我有一组脚本 用于通过 FTP 下载文件 然后从服务器中删除它们 其工作原理如下 for dir in ls volume1 auto downloads sync complete do if x dir x then echo DIR
  • 是否有一种异步信号安全的方式来读取 Linux 上的目录列表?

    SUSv4 http pubs opengroup org onlinepubs 9699919799 functions V2 chap02 html tag 15 04 03 03未在其异步信号安全函数列表中列出 opendir rea
  • Linux 内核中是否使用了扩展指令集(SSE、MMX)?

    好吧 它们带来 至少应该带来 性能的巨大提升 不是吗 所以 我还没有看到任何 Linux 内核源代码 但很想问 它们是否以某种方式被使用 在这种情况下 对于没有此类指令的系统 必须有一些特殊的 代码上限 SSE 和 MMX 指令集在音频 视
  • 设置 nginx 具有多个 IP

    我的 nginx 配置文件位于 etc nginx sites available 下 有两个上游说 upstream test1 server 1 1 1 1 50 server 1 1 1 2 50 upstream test2 ser
  • “设置:非法选项 -”在一台主机上,但在另一台主机上则不然

    我在我的一台 ubuntu 虚拟机中编写了一个 sh 脚本 该脚本工作正常 但是当我尝试在其他虚拟机中运行它时 它不起作用 两个虚拟机应该相同 和bash version两个虚拟机均回复 GNU bash version 4 3 11 1

随机推荐

  • 如何扩展多个实用程序类[重复]

    这个问题在这里已经有答案了 这个问题有点针对 PHP 但它可能也适用于其他语言 在 PHP 中 您只能扩展一个类 但如果您需要更多课程怎么办 假设我有以下课程 class MyClass extends Observer Logger Ot
  • 如何在 R Shiny 中设置列​​的小数宽度?

    我想设置一个小数宽度column 我的 R Shiny 仪表板中的元素 例如 我需要 5 列 因此每列的宽度需要为 2 4 有办法做到吗 Shiny 的列宽基于Bootstrap 12宽网格系统 https shiny rstudio co
  • 对嵌套关注点的循环依赖

    有人知道为什么在我的生产服务器上我不能在模型中使用嵌套关注点吗 我有一个模型Landing class Landing lt ActiveRecord Base include Claimable end 和关心 module Claima
  • 结合 Aero Glass 效果和 SWT

    作为一个宠物项目 我一直在尝试将 Aero Glass 效果集成到我的 SWT 应用程序中的概念 ukasz Milewski 有一篇很棒的博客文章 http www milewski ws 2009 02 vista glass in s
  • 用 C++ 编写的语法和语义代码完成框架

    这个问题比我之前的问题更精确 用 C C 编写的通用代码补全框架 https stackoverflow com questions 13595747 general code completion framework written in
  • CLang 错误(目标 C):初始化期间存储的值永远不会被读取

    Foo oFoo Foo alloc init autorelease 这就是我被教导用 Objective C 编程的方式 但 CLang 错误检查器抱怨从未读取初始值 但 oFoo 是一个具有属性的对象 oFoo 本身没有单一值 财产价
  • Oracle:max(id)+1和sequence.nextval之间的区别

    我正在使用甲骨文 我们创建时有什么不同ID using max id 1并使用sequance nexval 在哪里使用以及何时使用 Like insert into student id name values select max id
  • 在 Typoscript HMENU 中,如何强制 URL 的语言

    我有一个多语言 多站点 多域 TYPO3 4 5 实例 RealURL 让我很忙 在某些子站点中 我无法让它为语言 1 和 2 创建正确的 URL 它将导致模式 www language 2 domain com language 1 pa
  • 测试Lua数字是整数还是浮点数

    在我的C 程序中 我需要知道Lua变量是整数还是浮点数 C API 提供lua isnumber 但这个函数不区分int float double 到目前为止 我已经通过使用解决了这个问题modf if lua isnumber luaCt
  • 直接访问 php superglobal 时的安全问题

    我刚刚将我的 IDE Netbean 升级到 1 7 4 beta 以对其进行测试 现在看来 每当我访问我的超全局变量时 它都会向我发出警告 它说 不要直接访问超级 POST数组 我目前只是使用这个 taxAmount intval cei
  • 赔率和偶数应用

    我正在生成 25 个 0 到 99 之间的随机整数 但是我必须 在一行上显示所有偶数 在下一行显示所有赔率 我该怎么做 public class FindEvenOrOddNumber public static void main Str
  • 在加载 HTML 表格中的每一行时添加延迟

    我正在从 Jquery 动态加载 HTML 表的数据 document ready function for var i 0 i lt StudentsList length i LoadRow StudentsList i functio
  • 路径路由:React 应用程序的应用程序负载均衡器

    我正在尝试在 AWS 应用程序负载均衡器中创建路径路由 Example apple mango com vault去instance1端口 80 和 nginx 将其路由到 var html reactApp1 build apple ma
  • 在基于 django 类的通用视图 CreateView 中设置表单字段

    我正在使用 django 的CreateView将图像添加到书中 我将书的 id 作为 url 中的参数传递给基于类的视图 表单字段 例如book and language不会在模板上呈现 而是通过书籍 ID 获得 views py cla
  • 设置默认 WebAPI 格式化程序

    我们使用 WebAPI 来模拟遗留系统的处理 因此 我们希望默认响应格式化程序是 XmlFormatter 而不是 JsonFormatter 原因是某些现有的服务调用不提供 Accept HTTP 标头字段 我可以通过从 Formatte
  • RTSP/RTMP 视频流客户端 iOS [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我需要一个开源解决方案 库来将 RTSP RTMP 流式传输到 iOS 应用程序 我需要构建一个连接到媒
  • ipywidgets 小部件值未更改

    我正在尝试从在 Python 3 6 中运行 Jupyter Notebooks 的 Microsoft Azure Notebooks 中的 ipywidgets 小部件获取输出 但是 当我获取新值时 它不会返回新值 这也适用于从未被其他
  • PhoneGap IOS 应用程序大小

    我使用 eclipse 和 xcode 4 5 创建了适用于 android 和 IOS 的phonegap 应用程序 Android应用程序大小为650KB iOS应用程序的大小是9MB 我创建了空的phonegap应用程序 刚刚在终端上
  • 位运算与

    这是一个leetcode问题 给定一个数字数组 nums 其中恰好有两个元素仅出现一次 而所有其他元素恰好出现两次 找出只出现一次的两个元素 例如 给定 nums 1 2 1 3 2 5 返回 3 5 我的代码是 class Solutio
  • 使用bash,如何删除特定目录中所有文件的扩展名?

    我想保留这些文件但删除它们的扩展名 这些文件的扩展名不同 我的最终目标是删除它们的所有扩展并将它们更改为我选择的一个扩展 我已经把第二部分写下来了 到目前为止我的代码 bin bash echo n Enter the directory