如何使用bash

问题描述

我有很多文件
列表文件名:

  • p004c01.txt
  • p004c05.txt
  • p006c01.txt
  • p006c02.txt
  • p007c01.txt
  • p007c03.txt
  • p007c04.txt
    ...

$cat p004c01.txt
#header
122.5 -0.256 547
123.6 NaN 325

$cat p004c05.txt
#header
122.1 2.054 247
122.2 -1.112 105

$cat p006c01.txt
#header
99 -0.200 333
121.4 -1.206 243

$cat p006c02.txt
#header
122.5 2.200 987
99 -1.335 556

我想要这个文件
文件1

$cat p004.txt
122 -0.256 547
122 2.054 247
122 -1.112 105

文件 2

$cat p006.txt
122.5 2.200 987
121.4 -1.206 243
99 -1.335 556
99 -0.200 333

还有另一个文件

中包含相同值 (?) 的文件

p????cxx.txt

在同一个文件
我这样一一试过

猫 p004* | sed '/#/d'|排序 -k 1n | sed '/NaN/d' |awk '{print substr($1,2,3),$2,$3,$4,$5}' > p004.txt

谁能帮我编写所有数据的简单脚本? 谢谢:)

解决方法

也许这对你有用:

for f in {001..999}; do tail -n +2 p"$f"c* > p"$f".txt; done 2>/dev/null