这是我的 bash 脚本:
for next in `ls | grep -P -o "[a-zA-Z0-9]*" | grep -v "^c$" | grep -v "^obj$" | grep -v "^sh$"`
do
mv "$next.c.obj" $next
done
如您所见,它很丑陋。它基本上从文件中删除了 .c.obj 扩展名(顺便说一句,这是因为我弄乱了之前的脚本)。它确实有效,但看起来并不是最有效的解决方案。
该操作已经完成,因此请不要发布其他操作方式(重命名或 sed 或 awk)。
我只是想知道是否可以仅使用 grep 和 bash 来完成此操作,但方式更优雅。