我有一个场景,我在一个文件夹中有两个文件:
1)Foo bar.pdf
2)另一个File.pdf
我将两个文件合并为一个。生成的文件必须命名为“Foo.pdf”。
所以.sh文件将包含以下函数:
检查* .pdf是否包含“bar”//检查文件夹中文件名中“bar”一词的所有PDF。
如果为TRUE($ value =“Foo.pdf”)//从文件名中提取“Foo”
mkfile = $ value.pdf
因此,我最终会得到以下内容:
(目录1)
文件1:Foo Blah Blah 123.pdf
文件2:另一个File.pdf
...运行脚本......
文件3: Foo.pdf //创建文件
希望有道理吗?有谁能指出我正确的方向?
@AFH我编辑了我的问题,使其更清晰一点。感谢您的评论,它确实给了我一个开始。
—
Guit4eva
如果你遇到困难,请告诉我。
—
AFH
因此,您尝试在名称中间找到具有特定子字符串的所有文件,然后重命名这些文件以便从其文件名中删除该子字符串。那是对的吗?
—
Spiff
bash
参数解析:在文件路径中,${FilePath%/*}
是目录路径,${FilePath##*/}
是文件名和[ "${FileName#*bar} != "SFileName" ]
测试bar
在文件名中。你重命名mv
,但旧名称中的任何目录路径必须存在于新名称中(否则,文件将被重命名并移动到当前目录)。