2013-04-24 60 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,這是不受歡迎的並且會導致錯誤。 希望我幫忙。