在prop_file = next((file for file in os.listdir(data_folder)
if 'property' in file), None)
if not prop_file:
message = 'The property file could not be found in the specified folder ({})!'
raise AppropriateException(message.format(data_folder))
我有一个具有以下结构的文件夹:
Linux
依此类推,直到.
├── a
│ ├── 00000400000000030bfd.dat
│ ├── 10000400000000030bfd.dat
│ ├── 20000400000000030bfd.dat
│ ├── etc....
├── b
│ ├── 00000401000000030bfd.dat
│ ├── 10000401000000030bfd.dat
│ ├── 20000401000000030bfd.dat
│ ├── etc....
├── c
│ ├── 00000402000000030bfd.dat
│ ├── 10000402000000030bfd.dat
│ ├── 20000402000000030bfd.dat
│ ├── etc....
├── d
│ ├── etc....
├── e
│ ├── etc....
├── f
文件夹。我想使用"p"
脚本将每个目录中的每个.dat
文件重命名为.html
文件。我怎么能这样做?
答案 0 :(得分:2)
使用循环。
for file in {a..p}/*.dat ; do
mv "$file" "${file%.dat}.html"
done
${file%.dat}
从.dat
的值末尾删除$file
。
答案 1 :(得分:0)
这是一个使用所有传统命令的版本:
find log -name "*.dat" |
sed 's/.log$//;s/mv &.dat &.html/' |
bash
基本上,find
创建目标名称列表,sed
使名称通用,然后生成执行重命名的mv
命令,然后将结果传递给{{1执行。
可以省略bash
命令,仅获取眼球测试的mv命令列表。您还可以向bash
命令添加-x
以获取已执行的每个bash
命令的日志。