Linux AWK - 拆分文件时的自定义文件名
Linux AWK - custom filename while split a file
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 之外的其他解决方案。
尝试关注一次,如果这对您有帮助,请告诉我。
awk -v var="value_of_variable" '/{start}/{filename=NR "." var ".split";}; {print > filename}' Input_file
如果您的变量具有 shell 变量的值,请使用 -v var="$shell_variable"
。
awk -v dir='/path/to/files' -v var="$VAR" '
/{start}/{close(filename); filename=dir "/" NR "." var ".split"}
{print > filename}
' alltickets.txt`
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 之外的其他解决方案。
尝试关注一次,如果这对您有帮助,请告诉我。
awk -v var="value_of_variable" '/{start}/{filename=NR "." var ".split";}; {print > filename}' Input_file
如果您的变量具有 shell 变量的值,请使用 -v var="$shell_variable"
。
awk -v dir='/path/to/files' -v var="$VAR" '
/{start}/{close(filename); filename=dir "/" NR "." var ".split"}
{print > filename}
' alltickets.txt`