相关疑难解决方法(0)

通过使用shell脚本替换文件名中的特定模式来重命名多个文件

编写一个简单的脚本,自动重命名一些文件.作为一个例子,我们希望将文件*001.jpg重命名为用户定义的字符串+ 001.jpg(例如:MyVacation20110725_001.jpg)此脚本的用法是让数码相机照片具有合理的文件名.

我需要为此编写一个shell脚本.有人可以建议如何开始吗?

shell

119
推荐指数
5
解决办法
12万
查看次数

使用单个unix命令中的前缀重命名文件夹中的所有文件

重命名文件夹中所有文件的前缀为"Unix_",即假设一个文件夹有两个文件a.txt和b.pdf,那么它们都应该从一个命令重命名为Unix_a.txt和Unix_b.pdf

unix linux rename

75
推荐指数
5
解决办法
15万
查看次数

如何将CPAN模块安装到本地目录中?

我正在使用托管的Linux机器,所以我没有权限写入/usr/lib目录.

当我尝试通过以下方式安装CPAN模块时:

perl Makefile.PL
make test
make install
Run Code Online (Sandbox Code Playgroud)

该模块被解压缩到一个blib/lib/文件夹.我保留了use blib/lib/ModuleName但是编译器仍然无法找到模块.我已经尝试将.pm文件复制到本地目录并保留 require ModuleName但仍然给我一些错误.

如何将模块安装到其他目​​录并使用它?

perl install cpan module

60
推荐指数
3
解决办法
12万
查看次数

在linux中使用正则表达式重命名文件

我有一组名为的文件:

Friends - 6x03 - Tow Ross' Denial.srt
Friends - 6x20 - Tow Mac and C.H.E.E.S.E..srt
Friends - 6x05 - Tow Joey's Porshe.srt
Run Code Online (Sandbox Code Playgroud)

我想像下面那样重命名它们

S06E03.srt
S06E20.srt
S06E05.srt
Run Code Online (Sandbox Code Playgroud)

我该怎么做才能在linux终端上完成工作?我已经安装了重命名但是U使用以下方法获得错误:

rename -n 's/(\w+) - (\d{1})x(\d{2})*$/S0$2E$3\.srt/' *.srt
Run Code Online (Sandbox Code Playgroud)

regex terminal rename

45
推荐指数
8
解决办法
6万
查看次数

如何使用bash和sed操作文件名?

我试图遍历目录中的所有文件.

我想在每个文件上做一些事情(将其转换为xml,不包括在示例中),然后将文件写入新的目录结构.

for file in `find /home/devel/stuff/static/ -iname "*.pdf"`;
do
  echo $file;
  sed -e 's/static/changethis/' $file > newfile +".xml";
  echo $newfile;
done
Run Code Online (Sandbox Code Playgroud)

我希望结果如下:

$ file => /home/devel/stuff/static/2002/hello.txt

$ newfile => /home/devel/stuff/changethis/2002/hello.txt.xml

我该如何改变我的sed线?

bash shell sed

5
推荐指数
2
解决办法
1万
查看次数

使用基于文件名的bash和Perl批量重命名文件

我正在寻找仅在当前目录中批量重命名文件并从文件名末尾删除某些字符串.

样品:

foo-bar-(ab-4529111094).txt
foo-bar-foo-bar-(ab-189534).txt
foo-bar-foo-bar-bar-(ab-24937932201).txt
Run Code Online (Sandbox Code Playgroud)

输出应如下所示:

foo-bar.txt
foo-bar-foo-bar.txt
foo-bar-foo-bar-bar.txt
Run Code Online (Sandbox Code Playgroud)

我想删除-(ab-2492201)每个文件名末尾的字符串,知道数字的长度可能会有所不同.

Perl正则表达式优于模块而不使用任何实用程序,并且对于bash oneliner命令是高度优选的.

如何在Linux上的Perl和Bash Shell中实现这一点?有兴趣知道两种解决方案.

regex linux bash shell perl

5
推荐指数
3
解决办法
5925
查看次数

标签 统计

shell ×3

bash ×2

linux ×2

perl ×2

regex ×2

rename ×2

cpan ×1

install ×1

module ×1

sed ×1

terminal ×1

unix ×1