ali*_*rth 3 command-line batch-rename
我有一堆以行结尾的文本文件www.thethinkfoundation.org
,例如:
file1.www.thethinkfoundation.org.txt
file2.www.thethinkfoundation.org.txt
.
.
.
file100.www.thethinkfoundation.org.txt
Run Code Online (Sandbox Code Playgroud)
我希望删除/删除www.thethinkfoundation.org
我在终端中尝试了以下命令来实现它:
for f in www.thethinkfoundation.org*; do mv "$f" "${f#thethinkfoundation.org}"; done
Run Code Online (Sandbox Code Playgroud)
结果是:
file1..txt
file2..txt
.
.
.
file100..txt
Run Code Online (Sandbox Code Playgroud)
预先感谢您提供有效的解决方案。
PS:我不想使用该rename
命令。我实际上正在寻找一款可以跨 Linux 和 *BSD 发行版运行的产品。我首选的文本编辑器是nano
.
基于Shell 参数扩展bash
和其他一些 shell 的子字符串替换可以通过两种方式实现:
首先,您可以仅替换第一个出现的模式(从左到右),如下所示:
${var/pattern/replacement}
Run Code Online (Sandbox Code Playgroud)
其次,您可以替换所有出现的模式,如下所示:
${var//pattern/replacement}
Run Code Online (Sandbox Code Playgroud)
var
包含字符串的变量/参数在哪里,pattern
是您希望在该字符串中查找和替换的模式,replacement
是您希望替换的替换项pattern
,也可以留空,即${var//pattern/}
如果您只想删除该模式从字符串中。
因此,您想要的解决方案将如下所示:
${var/pattern/replacement}
Run Code Online (Sandbox Code Playgroud)
我添加了echo
一个空运行,以便您可以先对其进行测试,然后取出echo
并再次运行它以完成实际工作。
归档时间: |
|
查看次数: |
293 次 |
最近记录: |