【问题标题】:How to create html links based on a text document of inputs如何基于输入的文本文档创建 html 链接
【发布时间】:2025-12-03 07:05:01
【问题描述】:

好吧,基本上我有一个输入的 txt:例如,

fde
fefe
4fd
f3faf

我想获取文本文档中的所有输入,并有一个输出 HTML 链接的 bash 脚本,例如

<a href='https://wwww.example.com/fde/'>https://wwww.example.com/fde/</a>
<a href='https://wwww.example.com/fefe/'>https://wwww.example.com/fefe/</a>

因此,对于每行字符的文件,每行都需要一个带有超链接的 html。如果您能提供帮助,非常感谢。我正在尝试在 bash/linux 终端中执行此操作。

【问题讨论】:

    标签: html bash text


    【解决方案1】:

    假设文件名为test.txt,可以通过以下方式解决:

    cat test.txt | while read string; do echo "<a href='https://wwww.example.com/$string'>https://wwww.example.com/$string</a>"; done
    

    输出将是:

    <a href='https://wwww.example.com/fde'>https://wwww.example.com/fde</a>
    <a href='https://wwww.example.com/fefe'>https://wwww.example.com/fefe</a>
    <a href='https://wwww.example.com/4fd'>https://wwww.example.com/4fd</a>
    <a href='https://wwww.example.com/f3faf'>https://wwww.example.com/f3faf</a>
    

    您也可以创建一个期望传递文件位置的 bash 脚本:

    #!/bin/bash
    
    [[ -z $1 || ! -f $1 ]] && echo "File not found." && exit 1
    
    cat $1 | \
        while read string; do
            echo "<a href='https://wwww.example.com/$string'>https://wwww.example.com/$string</a>"
        done
    

    请注意,此解决方案不会转义字符串,即如果您的字符串包含 HTML 实体,如 &lt;&gt;&amp;"',您可能需要转义它们。

    【讨论】:

    • 好的,这很有帮助。如果我记得关于 bash 的任何事情,我可能会找到正确的解决方案,但我必须直接要求您提供更多的慈善事业。哎呀不是要按回车...我想问我怎么能a)把它作为一个bash脚本,我可以通过它运行文本文件,b)输出是一个htm文件。谢谢。
    • 刚刚添加了一个脚本示例。要将其重定向到不同的文件,请使用I/O redirection。基本上./script.sh &gt; targetfile.html。 (或使用&gt;&gt; 附加到现有文件。)
    • 嗯。实际上我只是在最后添加了 cat > file.htm ,幸运的是它可以工作。这不是一切,但至少它有效。我很高兴你这么有帮助。谢谢你。如果这不是一次性行为,我会给你某种业力。没有看到你的快速反应。非常感谢
    • 您仍然可以投票并接受答案。这就是 karma 的 Stack Overflow 版本。 ;)
    【解决方案2】:

    试试这个:

    while read line
    do
        echo "<a href='https://wwww.example.com/"$line"/'>https://wwww.example.com/"$line"/</a>"
    done < "your-file-name"
    

    假设此代码在名为 script.sh 的脚本文件中,请在终端中执行以下命令:

    chmod +x script.sh #to grant execute right
    ./script.sh #to launch the script
    

    【讨论】:

    • 谢谢!这是另一个很好的答案。