使用Shell Preferred sed cut命令和awk重命名文件名

时间:2019-05-19 06:49:33

标签: python shell awk sed cut

我想重命名如下所述的文件名

如果文件名是abc_test_tt_3447.txt我想要 abc_tt_3447.txt

如果文件名是abc_test_ff_tt_3447.txt我想要 abc_tt_3447.txt

如果我想将test和test_ff替换为空

我已尝试使用sed命令

1 个答案:

答案 0 :(得分:0)

使用bash之一:

shopt -s extglob
for file in *_test*; do
    echo mv -- "$file" "${file//_test?(_ff)/}""
done

或:

for file in *_test*; do
    [[ $file =~ (.*)_test(_ff)?(.*) ]] &&
    echo mv -- "$file" "${BASH_REMATCH[1]}${BASH_REMATCH[3]}"
done

完成测试后,删除echo