«sed» 태그된 질문

sed는 텍스트를 필터링하고 변환하기위한 명령 줄 스트림 편집기입니다.

7
여러 줄 레코드를 분할하지 않고 큰 텍스트 파일을 효율적으로 분할하는 방법은 무엇입니까?
큰 텍스트 파일이 있습니다 (gz 's ~ 50Gb). 파일은 4*N행이나 N레코드를 포함 합니다. 즉, 모든 레코드는 4 줄로 구성됩니다. 이 파일을 입력 파일의 대략 25 % 크기 인 4 개의 작은 파일로 나누고 싶습니다. 레코드 경계에서 파일을 어떻게 분할 할 수 있습니까? 순진한 접근 방식은 zcat file | wc -l줄 …

4
매우 긴 줄에서 검색 및 교체를위한 sed 대안
레코드 끝에 줄 바꿈을하지 않은 프로그램으로 생성 된 파일이 있습니다. 레코드 사이에 줄 바꿈을 넣고 싶습니다. 간단한 sed 스크립트로 할 수 있습니다. sed -e 's/}{/}\n{/g' 문제는 입력 파일의 크기가 수 기가 바이트이므로 sed의 입력 행 길이가 여러 GB라는 것입니다. sed는 메모리에 줄을 유지하려고 시도하지만이 경우 작동하지 않습니다. --unbuffered옵션을 사용해 보았지만 …
9 sed 

2
sed : 한 줄 입력에 실패하지 않고 전체 파일을 패턴 공간으로 읽습니다.
전체 파일을 패턴 공간으로 읽는 것은 개행을 대체하는 데 유용합니다. & c. 다음을 조언하는 많은 경우가 있습니다. sed ':a;N;$!ba; [commands...]' 그러나 입력에 한 줄만 있으면 실패합니다. 예를 들어, 두 개의 라인 입력을 사용하면 모든 라인에 대체 명령이 적용됩니다. $ echo $'abc\ncat' | sed ':a;N;$!ba; s/a/xxx/g' xxxbc cxxxt 그러나 단일 행 …
9 sed  newlines 


5
문자열을 검색하고 범위 내 전후의 모든 것을 인쇄
이 파일이 있습니다 : sometext1{ string1 } sometext2{ string2 string3 } sometext3{ string4 string5 string6 } 이 파일에서 특정 문자열을 검색하고이 문자열 앞의 {모든 것을 여는 부분까지,이 문자열 뒤의 모든 항목을 끝까지 인쇄하고 싶습니다 }. sed로 이것을 달성하려고했지만 범위의 모든 것을 인쇄하려고하면 /{/,/string2/sed가 이것을 인쇄합니다. sometext1{ string1 } sometext2{ string2 …

8
이전 줄에 줄을 추가하는 방법?
파싱하고 분석 해야하는 로그 파일이 있습니다. 파일은 아래와 같은 것을 포함합니다 : 파일: 20141101 server contain dump 20141101 server contain nothing {uekdmsam ikdas jwdjamc ksadkek} ssfjddkc * kdlsdl sddsfd jfkdfk 20141101 server contain dump 위의 시나리오를 기반으로 시작 줄에 날짜 또는 이전 줄에 추가해야하는 숫자가 포함되어 있지 않은지 확인해야합니다. 결과물 …

1
sed에서 N 번째 행을 제외한 모든 행을 마지막 행에 어떻게 인쇄합니까?
나는 보완 / "반대"를하고 싶습니다 sed 13q;d <file.txt 보다 일반적으로 이런 종류의 보완 / 반전 / 반대를 할 수 sed있습니까? 아니면 정규 표현식에만 해당됩니까? 세 번째 줄부터 마지막 ​​줄까지는 어떻게 인쇄합니까? 이 둘이 필요 tac하고 앞으로 카운트 sed? 아니면 sed뒤에서 셀 수 있는 방법이 있습니까?

2
텍스트 파일에서 알 수없는 유니 코드 문자 제거-sed, 기타 bash / shell 방법
이름이 같은 일부 파일에서 알 수없는 문자의 모든 발생을 검색하고 바꿔야합니다. vi로 그러한 파일을 열면 해당 문자의 <91> 코드를 읽습니다. 그것들을 나노로 열면 다이아몬드 (검은 색 럼블)로 "물음표"를 읽습니다. 알 수없는 문자를 따옴표 ( ')로 바꾸고 싶습니다. 나는 운없이 여러 가지 방법으로 노력하고 있습니다. 나는 시도했다 : find ./ -name …

7
마지막 x 발생을 제외한 문자 교체
다음과 같은 IP와 상호 관련된 많은 호스트 이름을 가진 파일이 있습니다. x-cluster-front-1 192.168.1.2 x-cluster-front-2 192.158.1.10 y-cluster-back-1 10.1.11.99 y-cluster-back-2 10.1.157.38 int.test.example.com 59.2.86.3 super.awesome.machine 123.234.15.6 나는 다음과 같이 보이기를 원한다. x-cluster-front-1 192.168.1.2 x-cluster-front-2 192.158.1.10 y-cluster-back-1 10.1.11.99 y-cluster-back-2 10.1.157.38 int-test-example-com 59.2.86.3 super-awesome-machine 123.234.15.6 을 어떻게 교체 할 수 있습니까? 두 번째 열에 의한 …



1
sed 또는 awk에서 여러 줄 바꾸기 [닫기]
폐쇄되었습니다 . 이 질문에는 세부 사항이나 명확성 이 필요 합니다 . 현재 답변을받지 않습니다. 이 질문을 개선하고 싶습니까? 이 게시물 을 편집 하여 세부 사항을 추가하고 문제점을 명확하게하십시오 . 휴일 오년 전에 . sed 또는 awk를 사용하여 smb 파일에서 5 줄을 바꾸려고하지만 줄 바꿈을 처리하는 방법을 전혀 모릅니다.
9 sed  awk  scripting  perl 

6
파일의 특정 내용을 가져옵니다
따라서이 문제에 대한 도구를 들었 기 때문에이 문제에 대한 도구가 있다는 것을 알고 있지만 도구가 무엇인지 모르겠습니다. / etc / passwd의 사용자 이름을 제외한 모든 데이터를 필터링하는 것과 같은 일을하고 싶습니다. 예를 들어 다음 파일에서 user1, user2 및 user3을 가져오고 싶습니다. 이 경우 논리는 "파일의 각 줄에서 첫 번째 ':'까지 …
9 files  sed  awk  cut 


2
다른 경기의 첫 경기를 바꾸려고 sed
텍스트 파일에서 PATH및 LOC_NAME특정 그룹 을 변경하고 싶습니다 . 예를 들면 다음과 같습니다. [a] PATH=/tmp SUR=Y LOC_NAME=USA [b] PATH=/tmp SUR=N LOC_NAME=UK 따라서 검색을 [b]위해 첫 번째 일치 항목 만 변경하려는 경우 (다음 다음이 아닌 이후 [*]) : sed -i '/PATH/c\PATH=\/u01' sed -i '/LOC_NAME/c\LOC_NAME=RUS'

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.