1
큰 파일이 있습니다. 각 줄은 하나의 레코드입니다. sed에 대한 직업 같아.sed 한 줄 주소가 전체 파일을 통과하는 것 같습니다.
한 번에 하나씩 몇 줄의 데이터를 검사하고 싶지만 base64로 인코딩 된 값이있는 json입니다. 2 호선을 검사하기 위해 다음을 실행합니다 :
sed -n 2p hugeFile | json 'key' | base64 --decode
sed가 파일을 통과하는 것으로 나타나는 것을 제외하고는 아무 문제가 없습니다.
여기에 sed를 잘못 사용하고 있습니까, 아니면 실제로 모든 파일을 검토하면서 각 행을 점검하여 2 행인지 확인하고 있습니까?
이 경우 도움이됩니다. 그러나 거대한 파일의 한가운데에 한 줄을 인쇄하고 싶다고 가정하면 [tag : sed]가 줄 단위로 처리하는 것을 어떻게 막을 수 있습니까? 나는 그것이 불가능하다고 생각한다. 이 문제는 [tag : awk]로 해결할 수 있습니까? – pfnuesel
줄 단위로 처리하지 않고 파일 중간에있는 줄은 어떻게됩니까? 텍스트 파일에는 특정 줄 번호로 곧바로 갈 수있는 색인이 없으므로 순차적으로 읽고 줄 바꿈을 계산해야합니다. – Barmar
나는 갑자기 내가 알고있는 sed가 얼마나 작은 지 깨닫는다 - 나는 np가 n이라는 주소를 알기보다는 n이 주소이고 p가 인쇄 명령임을 알 것이라고 가정한다. 그 다음에는'2 {p; q;}'가 '2 번 줄에 줄을 인쇄 한 다음 종료합니다'라고 가정합니다. – Squidly