相关疑难解决方法(0)

如何在 ls 和 mv 中使用 ms-dos 样式的通配符?

我有一个来自 MS-DOS 背景的不幸——但至少它让我意识到 Linux 是多么强大。我一直在努力让我的 Linux-Fu 达到标准,但有几件事可以用 DOS 完成,我不确定如何用 Linux最容易地完成:

重命名多个文件 - 使用两个通配符

c:\> dir

Directory of c:\
    file1.txt
    file2.txt
    file3.txt
    file4.txt

c:\>rename *.txt *.bak

c:\> dir

Directory of c:\
    file1.bak
    file2.bak
    file3.bak
    file4.bak
Run Code Online (Sandbox Code Playgroud)

我知道我可以find -exec在这里使用,但可以使用更短的语法——也许mv带有一些特殊的标志或语法?我想这的关键是第二个 *通配符,因为 linux 对第一个通配符应该没有问题(即我知道如何选择我想使用通配符重命名的文件)

重命名单个文件 - 使用一个通配符

c:\> dir

Directory of c:\
    file1.txt

c:\>rename file1.txt *.bak

c:\> dir

Directory of c:\
    file1.bak
Run Code Online (Sandbox Code Playgroud)

这在重命名长而笨重的文件名时特别有用。我想也许我可以用它mv file1.txt $1.bak来结束,file1.txt.bak这也是可以接受的,但我不确定您是否可以$1使用 shell 命令引用内联参数。同样在这种特殊情况下,ms-dos 如何将*通配符混为一谈以用作文件名的一部分的一种捕获/替换匹配,这很方便。

使用通配符过滤目录列表 …

linux command-line ls rename

9
推荐指数
1
解决办法
5577
查看次数

标签 统计

command-line ×1

linux ×1

ls ×1

rename ×1