gpt4 book ai didi

bash - 从 bash 中的输入文件生成输出文件名

转载 作者:行者123 更新时间:2023-11-29 09:11:33 25 4
gpt4 key购买 nike

我有一个 bash 脚本:

#!/bin/bash
convert "$1" -resize 50% "$2"

我不想在脚本运行时传递两个参数,而是只想提及源(或输入文件名),输出文件名应该从源文件名自动生成。像这样 "$1"|切-d'。' -f1.jpg".如果输入文件名为 myimage.png,则输出名称应为 myimage.jpg.jpg 应附加到源文件名的第一部分。如果参数是:*.png,它也应该有效。那么我该如何修改我的脚本呢?

最佳答案

扩展 ${X%pattern} 删除 $X 末尾的 pattern

convert "$1" -resize 50% "${1%.*}.jpg"

处理多个文件:

for filename ; do
convert "$filename" -resize 50% "${filename%.*}.jpg"
done

这将遍历每个命令行参数并且是 for filename in "$@" 的简写。您无需担心检查参数是否为 *.png - shell 将为您扩展它 - 您将简单地收到扩展的文件名列表。

关于bash - 从 bash 中的输入文件生成输出文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5483167/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com