我想使用标准的linux shell脚本工具(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
答案 0 :(得分:2)
count=0
for line in $(cat input)
do
echo $line > out.$count
let count=count+1
done
答案 1 :(得分:1)
perl -ne 'open my $fh, ">out.$." && print $fh $_' input.txt
答案 2 :(得分:1)
使用awk
awk '{print $0 > "out_"++d".txt"}' file
答案 3 :(得分:0)
#!/bin/bash
while IFS= read -r line; do
echo "$line" > out.$((++i))
done < /path/to/input