다음 문서를 고려해보세요:
1
2
3
4
5
이것을 사용하여 마지막 3개 행을 추출할 수 있습니다.sed하나의 선:
$ /bin/sed input.txt -e ':a;$q;N;4,$D;ba'
#
그러나 출력이 다음과 같이 보이도록 각 줄 앞에 문자( )를 추가하고 싶습니다 .
# 3
# 4
# 5
이를 위해 한 줄의 코드를 수정하려면 어떻게 해야 합니까? 즉, 다른 sed
호출을 추가할 필요가 없습니다(사용 | /bin/sed -e 's/^/# /'
).
나는 sed
같은 이유로만 사용하는 것을 선호합니다.원래 질문, 즉 내 시스템에는 사용 가능한 바이너리가 제한되어 있습니다.
답변1
sed
마지막 것을 인쇄하는 대신 사용하십시오.N회선 사용량 tail
:
$ tail -3 input.txt | sed 's/^/# /'
# 3
# 4
# 5
cat
또한 이 파일은 필요하지 않습니다 .고양이에게 쓸모없는 용도.
다음만 사용하세요 sed
:
sed ':a;${s/^/# /;s/\n/&# /g;q;};N;4,$D;ba' input.txt