我有几个文件.
cat收件箱文件1.文本
20190130150000 #timestamp-1
56 39
P A
S-4 B 4. E F 3
-9999 -9999 6.99 0.000 -9999 -9999
-9999 -9999 9.99 0.000 -9999 -9999
20190130151000 #timestamp-2
56 39
P A
S-4 B 4. E F 3
-9999 -9999 6.99 0.000 -9999 -9999
-9999 -9999 9.99 0.000 -9999 -9999
20190130152000 #timestamp-3
56 39
P A
S-4 B 4. E F 3
-9999 -9999 6.99 0.000 -9999 -9999
-9999 -9999 9.99 0.000 -9999 -9999
EOF
cat收件箱文件2.文本
20190130150000 #timestamp-1
33 55.3
R A
S-4 B 3. E F 3
-9999 -9999 5.99 0.000 -9999 -9999
-9999 -9999 7.99 0.000 -9999 -9999
20190130151000 #timestamp-2
33 55.3
R A
S-4 B 3. E F 3
-9999 -9999 5.99 0.000 -9999 -9999
-9999 -9999 7.99 0.000 -9999 -9999
20190130152000 #timestamp-3
33 55.3
R A
S-4 B 3. E F 3
-9999 -9999 5.99 0.000 -9999 -9999
-9999 -9999 7.99 0.000 -9999 -9999
EOF
我正在寻找awk脚本,以以下方式重新排列它:
将所有相同的时间戳及其后续行一起写入:
请注意:文件中没有这样的#timestamp单词,我只是为了易于理解而提到它.
因此愿望输出将是这样的:
cat out.文本
20190130150000
56 39
P A
S-4 B 4. E F 3
-9999 -9999 6.99 0.000 -9999 -9999
-9999 -9999 9.99 0.000 -9999 -9999
20190130150000
33 55.3
R A
S-4 B 3. E F 3
-9999 -9999 5.99 0.000 -9999 -9999
-9999 -9999 7.99 0.000 -9999 -9999
20190130151000
56 39
P A
S-4 B 4. E F 3
-9999 -9999 6.99 0.000 -9999 -9999
-9999 -9999 9.99 0.000 -9999 -9999
20190130151000
33 55.3
R A
S-4 B 3. E F 3
-9999 -9999 5.99 0.000 -9999 -9999
-9999 -9999 7.99 0.000 -9999 -9999
20190130152000
56 39
P A
S-4 B 4. E F 3
-9999 -9999 6.99 0.000 -9999 -9999
-9999 -9999 9.99 0.000 -9999 -9999
20190130152000
33 55.3
R A
S-4 B 3. E F 3
-9999 -9999 5.99 0.000 -9999 -9999
-9999 -9999 7.99 0.000 -9999 -9999
EOF
我的 playbook :
awk '
{
if ($1 ~ /^[0-9]{14}$/) {
timestamp = $1
print timestamp
next
}
print
}' file1.txt file2.txt
此脚本只是打印相同的输入.它不是打印欲望输出.