gpt4 book ai didi

shell - 重命名 UNIX 目录中的文件 - shell 脚本

转载 作者:行者123 更新时间:2023-12-04 20:53:22 24 4
gpt4 key购买 nike

我一直在尝试编写一个脚本,该脚本将获取当前工作目录,扫描每个文件并检查它是否是 .txt 文件。然后获取每个文件(这是一个文本文件),并检查它的名称中是否包含下划线,以及是否将下划线更改为连字符。

我知道这是一个艰巨的任务,但这是我迄今为止的粗略代码:

#!/bin/bash
count=1
while((count <= $#))
do
case $count in
"*.txt") sed 's/_/-' $count
esac
((count++))
done

我在想的是,这会将当前工作目录中的文件作为参数并检查每个文件(由 $count 或“count”处的文件表示)。然后对于每个文件,它会检查它是否以 .txt 结尾,如果是,它会使用 sed 将每个下划线更改为连字符。我认为我遇到的主要问题之一是脚本没有从当前工作目录读取文件。我尝试在运行脚本的命令之后包含目录,但我认为它占用了每一行而不是每个文件(因为每行有 4 个左右的文件)。

无论如何,任何帮助将不胜感激!另外,很抱歉我的代码太糟糕了,我对 UNIX 很陌生。

最佳答案

for fname in ./*_*.txt; do
new_fname=$(printf '%s' "$fname" | sed 's,_,-,')
mv "$fname" "$new_fname"
done

关于shell - 重命名 UNIX 目录中的文件 - shell 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7691586/

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