awk '/{start}/{filename=NR".split"}; {print > filename}' alltickets.txt
此命令在每次找到{start}
时将文件alltickets.txt拆分为多个文件。
现在生成的文件是NR(行号).split。
1.split
5.split
6.split
我有一个变量,让我们说VAR='xxx'
我希望这个变量包含在文件名
获得:
1.xxx.split
2.xxx.split
3.xxx.split
之后如果可能,我想将这些文件写在特定目录中。
你能帮助我吗?
我尝试了几种选择,但每次出错都是如此。
您还可以提出除awk之外的其他解决方案。
答案 0 :(得分:1)
尝试关注一次并告诉我这是否对您有所帮助。
awk -v var="value_of_variable" '/{start}/{filename=NR "." var ".split";}; {print > filename}' Input_file
如果您的变量具有shell变量的值,请使用-v var="$shell_variable"
。
答案 1 :(得分:0)
awk -v dir='/path/to/files' -v var="$VAR" '
/{start}/{close(filename); filename=dir "/" NR "." var ".split"}
{print > filename}
' alltickets.txt`