Sed 将stdin转换为每行一个文件

Sed 将stdin转换为每行一个文件,sed,awk,Sed,Awk,我想使用标准的LinuxShell脚本工具(sed、awk等)编写一个小脚本,为每行输入创建一个输出文件。例如,给定以下输入文件“input”: line1 line2 line3 我想运行这个命令 $ cat input | my_prog 其中“my_prog”是一个脚本,用于创建三个输出文件out.1、out.2和out.3 $ cat out.1 line1 $ cat out.2 line2 $ cat out.3 line3 使用awk awk '{print $0 &g

我想使用标准的LinuxShell脚本工具(sed、awk等)编写一个小脚本,为每行输入创建一个输出文件。例如,给定以下输入文件“input”:

line1
line2
line3
我想运行这个命令

$ cat input | my_prog
其中“my_prog”是一个脚本,用于创建三个输出文件out.1、out.2和out.3

$ cat out.1
line1 

$ cat out.2
line2

$ cat out.3
line3
使用awk

awk '{print $0 > "out_"++d".txt"}' file
使用awk

awk '{print $0 > "out_"++d".txt"}' file
#/bin/bash
而IFS=读取-r行;做
回显“$line”>输出。$(++i))
完成
#/bin/bash
而IFS=读取-r行;做
回显“$line”>输出。$(++i))
完成
这是使用sed和awk的命令管道的一部分。我想知道是否有可能让sed将每个输入行映射到一个单独的输出管道。我想我会使用ennuikiller的解决方案,用我完整的sed命令管道替换“echo$line>out.$count”。谢谢这是使用sed和awk的命令管道的一部分。我想知道是否有可能让sed将每个输入行映射到一个单独的输出管道。我想我会使用ennuikiller的解决方案,用我完整的sed命令管道替换“echo$line>out.$count”。谢谢它将每个单词的每一行分开。您应该在读取-r行时执行
。。。完成
,将每个字的每一行拆分。您应该在读取-r行时执行
。。。完成
则您做错了。显示您的错误消息,以及不起作用的内容。下次提供有关故障的更多信息!那你做错了。显示您的错误消息,以及不起作用的内容。下次提供有关故障的更多信息!
awk '{print $0 > "out_"++d".txt"}' file
#!/bin/bash

while IFS= read -r line; do
    echo "$line" > out.$((++i))
done < /path/to/input