考虑带有科学数据的文本文件,例如:
5.787037037037037063e-02 2.048402977658663748e-01
1.157407407407407413e-01 4.021264347118673754e-01
1.736111111111111049e-01 5.782032163406526371e-01
Run Code Online (Sandbox Code Playgroud)
如何轻松删除,例如,每隔一行,或文件中每10行中的9行?例如是否可以使用bash脚本?
背景:文件非常大,但我需要更少的数据来绘制.请注意,我使用的是Ubuntu/Linux.
jor*_*anm 58
使用awk很容易实现.
删除所有其他行:
awk 'NR % 2 == 0' file > newfile
Run Code Online (Sandbox Code Playgroud)
删除每10行:
awk 'NR % 10 != 0' file > newfile
Run Code Online (Sandbox Code Playgroud)
awk中的NR变量是行号.awk中{}以外的任何内容都是有条件的,默认操作是打印.
perl怎么样?
perl -n -e '$.%10==0&&print' # print every 10th line
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
34338 次 |
| 最近记录: |