在Bash中,可以使用嵌套while循环将文本文件的行写入CSV文件。下面是一个示例代码:
#!/bin/bash
# 输入文件路径
input_file="input.txt"
# 输出文件路径
output_file="output.csv"
# 创建CSV文件,并添加标题行
echo "Line,Text" > "$output_file"
# 读取输入文件的每一行
while IFS= read -r line; do
# 将每一行的文本写入CSV文件
counter=1
while IFS= read -r word; do
# 将行号和文本写入CSV文件
echo "$counter,$word" >> "$output_file"
((counter++))
done <<< "$line"
done < "$input_file"
在这个示例中,我们首先定义了输入文件的路径和输出文件的路径。然后,我们使用echo
命令在输出文件中添加标题行。
接下来,我们使用第一个while
循环读取输入文件的每一行。在每个行的循环中,我们使用第二个while
循环读取行中的每个单词。在内部循环中,我们使用echo
命令将行号和单词写入CSV文件。
最后,我们将输入文件和输出文件作为输入重定向传递给外部循环。
运行这个脚本将会将输入文件中的每一行的文本写入输出文件中的CSV格式中。请注意,输入文件中的每一行都会被视为一个单独的记录,行内的每个单词将成为CSV文件中的一个字段。