파일의 줄을 반복하고 다음 줄로 변수를 증가시킵니다.

파일의 줄을 반복하고 다음 줄로 변수를 증가시킵니다.

파일에 다음 콘텐츠가 있습니다. 이것은 단지 일부 타임스탬프일 뿐입니다.

455860902
868790949
279116188
689905426

예 - 다음과 같은 출력을 원합니다.

###########
sed -n '/455860902/,/868790949/p' file
sed -n '/868790949/,/279116188/p' file
sed -n '/279116188/,/689905426/p' file

sed매번 명령을 입력하지 않아도 되도록 루프를 거쳐야 합니다 .

답변1

사용 awk:

awk 'prev{ print "sed -n \047/" prev "/,/" $0 "/p\047 file"; }
         { prev=$0 }' infile

답변2

잘 작동했지만 이전 답변만큼 좋지는 않습니다.

la=`awk 'END{print NR}' filename`
co=$(($la - 1))

for i in `sed -n "1,"$co"p" filename`; do awk -v i="$i" '$1 ~ i {getline x;print "sed -n" " "  "/"$0"/,/"x"/p"}' filename; done| sed "s/\//'&/"| sed "s/\/p/\/p'/g"

산출

sed -n '/455860902/,/868790949/p'
sed -n '/868790949/,/279116188/p'
sed -n '/279116188/,/689905426/p'

관련 정보