我有一个类型的文本文件:
文件 1.txt:
> -L"200100"
-6.37447846851 36.186032575
-6.37383387763 36.1858844144
-6.37377079559 36.1858390355
> -L"200200"
-6.31950329044 36.1191615625
-6.31968900314 36.119114902
-6.31908913286 36.1191091689
> -L"200100"
-6.31911178588 36.1188919898
-6.31918479464 36.1188976987
> -L"200250"
-6.31909865128 36.1186432256
-6.31920604922 36.1186522368
-6.31941109375 36.1187126272
....
还有一个像这样的第二个文本文件:
文件2.txt
-51
-14
-101
-32
...
我希望每次在 file1.txt 上找到类型为 '> -L"200100"' 的行(实际上是任何以 '> -L' 开头的行)时,都会附加第三列,并采用 file2 中的相应(顺序)值。文本。在我的示例中,输出将是:
文件 3.txt:
> -L"200100"
-6.37447846851 36.186032575 -51
-6.37383387763 36.1858844144 -51
-6.37377079559 36.1858390355 -51
> -L"200200"
-6.31950329044 36.1191615625 -14
-6.31968900314 36.119114902 -14
-6.31908913286 36.1191091689 -14
> -L"200100"
-6.31911178588 36.1188919898 -101
-6.31918479464 36.1188976987 -101
> -L"200250"
-6.31909865128 36.1186432256 -32
-6.31920604922 36.1186522368 -32
-6.31941109375 36.1187126272 -32
....
'> -L' 出现的次数 file1.txt 等于 file2.txt 中的相同行数。
awk/gawn oneliner 有可能吗?
谢谢。