小编Jac*_*dit的帖子

如何从每次迭代的不同行开始每个第n行

我想awk打印从第0行开始的文件中的每第n行.然后,在awk完成整个文件之后,我希望它从第1行开始打印每第n行...然后打印每第n行开始从第2行......等开始,直到从第n-1行开始打印每第n行.我迄今为止的悲惨尝试:

#!/bin/bash

rm *.sad *.sadd *.out

#Create loop index
for i in $(seq 20 1 36);
do
        listm+=($i)
done

#Create input file
for j in "${listm[@]}"
do
        if [ $j -eq 20 ];
        then
                awk 'NR % 20 == 0' vel_VMDout > atomvel.dat
                awk '{print $2,$3,$4}' atomvel.dat > velocity.dat
        else
                awk 'NR % 20 == 1' vel_VMDout  > $j.sad
                egrep -v "^[[:space:]]*$|^#" $j.sad > $j.sadd
                awk '{print $2, $3, $4}' $j.sadd > $j.out
                paste velocity.dat $j.out  > taste …
Run Code Online (Sandbox Code Playgroud)

awk

5
推荐指数
1
解决办法
542
查看次数

标签 统计

awk ×1