bash - 如何将 sed 的结果回显到 bash 中的文件?
问题描述
我正在尝试将 sed 命令的结果回显到不同的 .html 文件。sed 命令是逐行读取一个 .txt 文件,并且只取用逗号分隔符分隔的第二个值。
这是我所拥有的:
ind=1
while [ $ind -lt 4 ]
do
echo "<tr><td>" >> ${HTML_FILE}
echo "`sed -n '$ind p' ${TEXT_FILE} | awk -F ',' '{print $2}'`" >> ${HTML_FILE}
echo "</td></tr>" >> ${HTML_FILE}
ind=$((ind+1))
done
${TEXT_FILE} 的内容:
709A8, Text 1 | 34%
354Y7, Text 2 | 86%
F1065, Text 3 | 100%
当我运行我的代码时,这是我的输出。出于某种原因,它会打印“nd p”:
<tr><td>
nd p
</td></tr>
<tr><td>
nd p
</td></tr>
<tr><td>
nd p
</td></tr>
预期的输出应该是这样的:
<tr><td>Text 1 | 34%</td></tr>
<tr><td>Text 2 | 86%</td></tr>
<tr><td>Text 3 | 100%</td></tr>
解决方案
或者只是 awk:
awk -F, 'NR < 4 {print "<tr><td>" $2 "</td></tr>"}' "$TEXT_FILE" >> "$HTML_FILE"
推荐阅读
- github - 如何执行 svg.setAttribute("width", svg.getBBox().width); 在服务器端?
- python - DuckDuckGo 结果抓取
- java - 在 Eclipse 中创建数据库
- c++ - CameraRemote SDK 中的 EnumCameraObjects 返回没有定义的错误代码(错误 1)
- ios - ios本地通知-摆脱锁定屏幕上的“通知”文本
- javascript - Cordova 相机插件适用于模拟器,而不适用于 Android 设备
- amazon-web-services - 如何使用 Terraform 的 aws_ssm_document 在目标 VM 上运行 powershell 脚本
- javascript - 我的手风琴菜单代码有问题吗?
- python - 使用用户输入关闭 StreamConn
- javascript - “在‘@zxing/browser’中找不到导出‘BrowserMultiFormatReader’