如果有一批文件下载后名称是这样的,
[www.abc.com] 电影第一集.rmvb
[www.abc.com] 电影第2集.rmvb
[www.abc.com] 电影第3集.rmvb
[www.abc.com] 电影第4集.rmvb
[www.abc.com] 电影第5集.rmvb
[www.abc.com] 电影第6集.rmvb
...
如果不想要[www.abc.com]出现在文件名称里面,用shell脚本来,怎么去掉呢:
写一个文件内容如下:
#!/bin/bash
find . -type f -name "*.rmvb" |
while read name; do
echo $name
newName=$(echo $name | awk -F'\\\[|]' '{print $3}')
echo $newName
mv $name $newName
done
给这个文件赋予x权限, 放到下载文件的目录执行:
电影第一集.rmvb
电影第2集.rmvb
电影第3集.rmvb
电影第4集.rmvb
电影第5集.rmvb
电影第6集.rmvb
...
以后再使用这个shell脚本,只需要更改分割符即可--->-F'\\\[|]' 这个使用【 】 做分割符的, 很特殊,如果是其他的分隔符,只需写成如下格式:
'[ 1 | a | c ]'
linux批量更改文件名,使用的是awk。
本文提供了一个简单的Shell脚本示例,用于批量修改文件名,去除特定前缀,例如从文件路径中删除网址部分。通过使用awk命令,可以实现高效地批量操作。此外,文章还提供了如何自定义分隔符和执行脚本的指导,适用于不同的文件命名需求。
585

被折叠的 条评论
为什么被折叠?



