linux - 如何使用 sed 更改文件扩展名?

标签 linux bash sed

我必须执行 sed 行(也在 Linux 中使用管道)来更改文件扩展名,因此我可以执行某种 mv *.1stextension *.2ndextension 之类的 mv * .txt *.c。问题是我不能使用批处理或 for 循环,所以我必须使用管道和 sed 命令来完成这一切。

最佳答案

你可以使用字符串操作

filename="file.ext1"
mv "${filename}" "${filename/%ext1/ext2}"

或者如果您的系统支持,您可以使用重命名

更新

你也可以这样做

mv ${filename}{ext1,ext2}

这叫做大括号展开

关于linux - 如何使用 sed 更改文件扩展名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19164976/

相关文章:

c - 原始套接字发送的 ARP 回复被忽略

bash - 在 Bash 中扩展变量中的变量

linux - 为什么 `read -t` 在 RHEL 上的 bash 中没有超时?

join - awk/sed/shell 合并/连接数据

python - 在第二个 SSH 终端中运行第二个 pygame 程序(用于第二个显示)会暂停,直到按下 ^C

linux - SVN(Linux 下的命令行)如何忽略一些更改(仅将它们保留在本地)但提交其余文件

linux - Node.js 的推荐 Linux 内核设置

linux - Bash `wait` 命令,等待超过 1 个 PID 完成执行

awk - 拆分一行的第二列以使用 bash oneliner 创建多行

linux - 在 sed 命令中扩展 unix 变量