如何在linux中删除文件名的第一个分隔符?

6pp0gazn  于 2023-02-07  发布在  Linux
关注(0)|答案(1)|浏览(201)

我想删除linux中文件名的第一个分隔符。
例如,

$ ls my_directory
a.b.c.txt a.b.d.txt a.b.e.txt

我希望它像这样:

$ ls my_directory
ab.c.txt ab.d.txt ab.e.txt

我试过:

$ mv a.b* ab*

,但不幸的是这不起作用。
我该怎么办?
先谢谢你。

xzv2uavs

xzv2uavs1#

如果使用的是Bash,请使用replace once参数扩展方法:

for f in a.b*; do
    mv -i -- "$f" "${f/.}"
done

参见Shell Parameter Expansion
如果您使用的是POSIX shell,则可以使用${f%%.*}${f#*.},或者在已知前缀(如a.b)的情况下,可以简单地使用ab${f#a.b}

相关问题