如何将文本文件每行内容转换为固定格式并写入新文件?
解决Shell脚本生成格式化查询文件的问题
你的需求是读取query.txt中的每一行内容,生成格式为Query: $line Response: User Input的新内容并写入processed_query.txt。之前的脚本无法正常工作,是因为你没有使用输出命令,直接写字符串会被Shell当作不存在的命令执行。
正确的脚本写法
方法一:使用echo
while read -r line; do echo "Query: $line Response: User Input" done < query.txt > processed_query.txt
方法二:使用printf(更推荐,格式控制更稳定)
while read -r line; do printf "Query: %s Response: User Input\n" "$line" done < query.txt > processed_query.txt
关键说明
read -r line:逐行读取query.txt的内容,-r参数用于保留行内的反斜杠字符,避免被转义echo/printf:负责输出格式化后的字符串,这是你之前脚本缺失的核心部分< query.txt:指定从query.txt读取输入源> processed_query.txt:将所有输出结果写入目标文件,若文件已存在会覆盖;如果需要追加内容,改用>> processed_query.txt
内容的提问来源于stack exchange,提问作者vkaul11
相关产品推荐
相关产品推荐

