gpt4 book ai didi

linux - bash shell 脚本,从文本文件中获取两列数据,并使用带有两个变量的 for 循环

转载 作者:太空宇宙 更新时间:2023-11-04 05:00:53 35 4
gpt4 key购买 nike

我正在尝试获取一个包含两列数据的文本文件,并在每一行上循环,将 html 表标签应用于每一列,然后写入另一个文件,例如

示例.txt

1 pool1
2 pool2
3 pool3

这就是我到目前为止所拥有的。

for line in $(cat example.txt); do
count=$(echo $line | awk -F " " '{print$1}')
pool=$(echo $line | awk -F " " '{print$2}')
printf "\t<tr>\n\t <td>%s</td> <td>%s</td>\n\t</tr>\n" $count $pool >> example_info.html
done

当前输出:

    <tr>
<td>1</td>
<td></td>
</tr>
<tr>
<td>pool1</td>
<td></td>
</tr>
<tr>
<td>2</td>
<td></td>
</tr>
<tr>
<td>poo2</td>
<td></td>
</tr>
<tr>
<td>3</td>
<td></td>
</tr>
<tr>
<td>poo3</td>
<td></td>
</tr>

期望的输出:

    <tr>
<td> 1 </td>
<td> pool1 </td>
</tr>
<tr>
<td> 2 </td>
<td> pool2 </td>
</tr>
<tr>
<td> 3 </td>
<td> pool3 </td>
</tr>

谁能指出我的 for 循环哪里出错了?

最佳答案

您需要一个while read循环:

while read count pool
do
printf "\t<tr>\n\t<td>%s</td><td>%s</td>\n\t</tr>\n" $count $pool >> example_info.html
done < example.txt

您应该阅读 Bash read命令并决定是否需要 -r 选项。

我假设还有其他代码可以打印 HTML 标题和正文以及表格标题和结束标记等。

关于linux - bash shell 脚本,从文本文件中获取两列数据,并使用带有两个变量的 for 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33430365/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com