使用 lynx/grep 处理大量文件。需要帮助!

使用 lynx/grep 处理大量文件。需要帮助!

有人可以帮我解决这个问题吗?它运行得很好,但现在却创建了空文件或根本没有文件,或者只打印第一个链接而不打印其余的链接。不知道发生了什么。

我运行“sudo sh ./doimdb”

并且“doimdb”文本文件包含:

sudo lynx -dump http://www.imdb.com/title/tt0182576 > $RANDOM.txt
sudo lynx -dump http://www.imdb.com/title/tt0182576 > $RANDOM.txt
sudo lynx -dump http://www.imdb.com/title/tt0182576 > $RANDOM.txt

sudo grep -A 20 -r Storyline &> results.txt

答案1

您的代码的主要问题是:

  • 仅在需要时才应使用 Sudo。否则,您可能会创建无权删除的文件等。
  • 您的 grep 命令应该只重定向 stdout,而不是 stderr:>不是&>
  • 您的 grep 命令应该仅引用正确的输入文件,而不是递归当前目录。

正确代码:

#!/bin/bash

lynx -dump http://www.imdb.com/title/tt0182576 > dl-$RANDOM.txt
lynx -dump http://www.imdb.com/title/tt0182576 > dl-$RANDOM.txt
lynx -dump http://www.imdb.com/title/tt0182576 > dl-$RANDOM.txt

grep -A 20  Storyline dl-*.txt> results.txt

相关内容