gpt4 book ai didi

regex - 庆典 : rename a file based on a regex

转载 作者:太空宇宙 更新时间:2023-11-04 10:56:25 26 4
gpt4 key购买 nike

我有一个默认名为 /tmp/foo_primary.bar 的文件或用户指定的任何其他文件名。

我如何使用 bash 重命名文件(变量),以便如果它包含字符串 primary 它将更改为 secondary 如果没有,只需附加 _secondary?

谢谢

最佳答案

你不需要正则表达式,一个模式就可以了:

#!/bin/bash
filepath=$1
if [[ $filepath != */* ]] ; then # File in PWD.
filepath=./$filepath
fi
filename=${filepath##*/}

if [[ $filename = *primary* ]] ; then
newname=${filename/primary/secondary}
else
newname=$filename'_secondary'
fi

mv "$filepath" "${filepath%/*}"/"$newname"

检查 man bash 中的“Parameter expansion”以了解 ${...} 结构的解释。

关于regex - 庆典 : rename a file based on a regex,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28609243/

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