2013-04-24 62 views
1

我正在尝试编写一个bash脚本,用于将 目录中的所有html文件转换为文本文件。在bash脚本中使用lynx

我想我可以用l do做到这一点。 如... 猞猁突降index.1.html> index.1.txt

此命令工作完全正常的外壳,但是当我尝试在 脚本实现它,我得到一个错误说:./txtFiles/./.txt:没有这样的文件或目录

这里是我的代码...

#!/bin/bash 
mkdir txtFiles 
for file in ./ 
do 
    lynx --dump $file > ./txtFiles/$file.txt 

done 

任何人都知道我是如何将能够得到这个正常运行? 在此先感谢。

+2

你可能希望'在./*'中存放文件,而不是'在文件中存放'/' – Blender 2013-04-24 03:59:26

+0

是的,你是对的。修复它,谢谢。 – 2013-04-24 04:13:20

回答

2

如何处理* .html文件中的文件

“for file in”部分不知道您希望它读取当前目录中的所有文件。事实上,它根本不会“知道”关于文件的任何内容 - 它只是期待一个单词列表。如果你给它glob“* .html”,bash将根据当前目录中与该模式匹配的所有文件为你创建该列表。

+0

谢谢,这个工程。我是bash脚本的完全noob。 – 2013-04-24 04:14:05

0

您需要为$文件返回一个文件,但for file in ./会将该文件夹设置为$ file,这是不受欢迎的并且会导致错误。 希望我帮忙。