我想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 ×1