我在文件中有以下内容
0010CTCTLEDPPOO STAND 201002971
0010CTCTLEDPPOO STAND 201002971
0010CTCTLEDPPOO STAND 201002971
0010CTCTLEDPPOO STAND 201002971
对于0010CTCTL
的每次出现,WNCRX
都应添加到
WNCRX
0010CTCTLEDPPOO STAND 201002971
WNCRX
0010CTCTLEDPPOO STAND 201002971
WNCRX
0010CTCTLEDPPOO STAND 201002971
WNCRX
0010CTCTLEDPPOO STAND 201002971
我正在使用以下
awk '/0010CTCTL/{print "WNCRX"}1' file
我能够实现所需要的,但我希望每个实例都在一个新文件中
所以应该有四个文件,每个文件包含
WNCRX
0010CTCTLEDPPOO STAND 201002971
您能否建议如何生成单个文件
答案 0 :(得分:1)
使用你的基地:
>
打印到文件++c
增加每行的文件名CMD:
awk '/0010CTCTL/{file="file" ++c ".out";print "WNCRX" > file}{print > file}' file
答案 1 :(得分:0)
你好也可以这样尝试
while read line
do
File_Name=`date +%N`
echo "WNCRX" >> ${File_Name}
echo $line >> ${File_Name}
done < Src_FileName
这样您就可以根据需要将文件名设置为动态值。
答案 2 :(得分:0)
您可以使用csplit
对来自Awk的输出进行后期处理。
awk '/0010CTCTL/{print "WNCRX"}1' file |
csplit - '/^WNCRX$/'