我有以下文件:(包含来自 dmesg 的信息)
more /tmp/file.txt
@@@@@@@@@@@@@@@@@@@@@@@@ worker01.miss.com @@@@@@@@@@@@@@@@@@@@@@@@
[Fri Jan 8 06:29:09 2021] Initializing cgroup subsys cpuset
[Fri Jan 8 06:29:09 2021] Initializing cgroup subsys cpu
[Fri Jan 8 06:29:09 2021] Initializing cgroup subsys cpuacct
.
.
@@@@@@@@@@@@@@@@@@@@@@@@ worker02.miss.com @@@@@@@@@@@@@@@@@@@@@@@@
[Fri Jan 8 06:29:09 2021] Initializing cgroup subsys cpuset
[Fri Jan 8 06:29:09 2021] Initializing cgroup subsys cpu
[Fri Jan 8 06:29:09 2021] Initializing cgroup subsys cpuacct
.
.
@@@@@@@@@@@@@@@@@@@@@@@@ worker03.miss.com @@@@@@@@@@@@@@@@@@@@@@@@
[Fri Jan 8 06:29:09 2021] Initializing cgroup subsys cpuset
[Fri Jan 8 06:29:09 2021] Initializing cgroup subsys cpu
[Fri Jan 8 06:29:09 2021] Initializing cgroup subsys cpuacct
.
.
@@@@@@@@@@@@@@@@@@@@@@@@ worker04.miss.com @@@@@@@@@@@@@@@@@@@@@@@@
[Fri Jan 8 06:29:09 2021] Initializing cgroup subsys cpuset
[Fri Jan 8 06:29:09 2021] Initializing cgroup subsys cpu
[Fri Jan 8 06:29:09 2021] Initializing cgroup subsys cpuacct
.
.
@@@@@@@@@@@@@@@@@@@@@@@@ worker05.miss.com @@@@@@@@@@@@@@@@@@@@@@@@
[Fri Jan 8 06:29:09 2021] Initializing cgroup subsys cpuset
[Fri Jan 8 06:29:09 2021] Initializing cgroup subsys cpu
[Fri Jan 8 06:29:09 2021] Initializing cgroup subsys cpuacct
.
.
@@@@@@@@@@@@@@@@@@@@@@@@ worker06.miss.com @@@@@@@@@@@@@@@@@@@@@@@@
[Fri Jan 8 06:29:09 2021] Initializing cgroup subsys cpuset
[Fri Jan 8 06:29:09 2021] Initializing cgroup subsys cpu
[Fri Jan 8 06:29:09 2021] Initializing cgroup subsys cpuacct
.
.
@@@@@@@@@@@@@@@@@@@@@@@@ worker07.miss.com @@@@@@@@@@@@@@@@@@@@@@@@
[Fri Jan 8 06:29:09 2021] Initializing cgroup subsys cpuset
[Fri Jan 8 06:29:09 2021] Initializing cgroup subsys cpu
[Fri Jan 8 06:29:09 2021] Initializing cgroup subsys cpuacct
.
.
我们想要创建文件
worker01.miss.com.txt
worker02.miss.com.txt
worker03.miss.com.txt
.
.
.
例如,当worker01.miss.com.txt
文件时,将包含内容
@@@@@@@@@@@@@@@@@@@@@@@@ worker01.miss.com @@@@@@@@@@@@@@@@@@@@@@@@
[Fri Jan 8 06:29:09 2021] Initializing cgroup subsys cpuset
[Fri Jan 8 06:29:09 2021] Initializing cgroup subsys cpu
[Fri Jan 8 06:29:09 2021] Initializing cgroup subsys cpuacct
.
.
例如何时worker02.miss.com.txt
将包含内容
@@@@@@@@@@@@@@@@@@@@@@@@ worker02.miss.com @@@@@@@@@@@@@@@@@@@@@@@@
[Fri Jan 8 06:29:09 2021] Initializing cgroup subsys cpuset
[Fri Jan 8 06:29:09 2021] Initializing cgroup subsys cpu
[Fri Jan 8 06:29:09 2021] Initializing cgroup subsys cpuacct
.
.
等等
答案1
使用awk
$ awk '/^@/ {close(dmesg_info); dmesg_info=$2".txt"} {print > dmesg_info}' input_file
$ cat worker01.miss.com.txt
@@@@@@@@@@@@@@@@@@@@@@@@ worker01.miss.com @@@@@@@@@@@@@@@@@@@@@@@@
[Fri Jan 8 06:29:09 2021] Initializing cgroup subsys cpuset
[Fri Jan 8 06:29:09 2021] Initializing cgroup subsys cpu
[Fri Jan 8 06:29:09 2021] Initializing cgroup subsys cpuacct
.
.
$ cat worker02.miss.com.txt
@@@@@@@@@@@@@@@@@@@@@@@@ worker02.miss.com @@@@@@@@@@@@@@@@@@@@@@@@
[Fri Jan 8 06:29:09 2021] Initializing cgroup subsys cpuset
[Fri Jan 8 06:29:09 2021] Initializing cgroup subsys cpu
[Fri Jan 8 06:29:09 2021] Initializing cgroup subsys cpuacct
.
.