«text-processing» 태그된 질문

프로그램, 스크립트 등에 의한 텍스트 조작 또는 검사

2
텍스트 파일을 빼기위한 유닉스 도구?
큰 테이블 형식으로 세미콜론으로 구분 된 텍스트 필드로 구성된 큰 파일이 있습니다. 정렬되었습니다. 동일한 텍스트 필드로 구성된 작은 파일이 있습니다. 어느 시점에서 누군가가이 파일을 다른 파일과 연결 한 다음 위에서 설명한 큰 파일을 만들기 위해 정렬을 수행했습니다. 큰 파일에서 작은 파일의 줄을 빼고 싶습니다 (예 : 작은 파일의 각 줄에 …


8
큰 파일에서 줄 바꿈이 포함 된 문자열 바꾸기
누구나 메모리를 효율적으로 사용하여 문자열을 "이진"검색 / 바꾸기위한 비 라인 기반 도구를 알고 있습니까? 이 질문 도 참조하십시오 . 이 작업과 비슷한 + 2GB 텍스트 파일을 처리하려고합니다. sed -e 's/>\n/>/g' 즉, 나는 이후에 발생하는 모든 줄 바꿈을 제거하고 싶지만 >다른 곳에서는 제거하지 않기를 원합니다 tr -d. 이 명령 ( 유사한 …

4
다른 파일의 두 열을 비교하고 일치하면 인쇄
Solaris 10을 사용하고 있으므로 -f와 관련된 grep 옵션이 작동하지 않습니다. 파이프로 구분 된 두 개의 파일이 있습니다. file1 : abc|123|BNY|apple| cab|234|cyx|orange| def|kumar|pki|bird| 파일 2 : abc|123| kumar|pki| cab|234 일치하는 file1 행을 인쇄하는 경우 file2의 처음 두 열을 file1과 비교합니다 (처음 두 열에서 file1의 전체 내용을 검색). 그런 다음 파일 2의 …

2
두 패턴 사이에 라인을 인쇄
CK줄 끝에있는 줄에서 grepping을 시작하고 줄이 끝에 grepping을 멈추고 싶습니다 D. 시도 grep "$CK" "$D" file..txt했지만 작동하지 않았습니다. 입력: kkkkkkkkkkk jjjjjjjjjjjjjjjjjj gggggggggggg/CK JHGHHHHHHHH HJKHKKLKLLL JNBHBHJKJJLKKL JLKKKLLKJLKJ/D GGGGGGGGGGGGGG GGGGGGGGGGGGGG 원하는 출력 : gggggggggggg/CK JHGHHHHHHHH HJKHKKLKLLL JNBHBHJKJJLKKL JLKKKLLKJLKJ/D


1
큰 멀티 GB 텍스트 파일에서 중복 줄을 제거하는 방법은 무엇입니까?
내 질문은 이 질문 과 비슷 하지만 몇 가지 다른 제약 조건이 있습니다. \n한 줄에 하나씩 큰 단어 목록이 있습니다. 파일 크기는 2GB에서 10GB까지입니다. 중복 줄을 제거해야합니다. 프로세스는 중복을 제거하는 과정에서 목록을 정렬 할 수 있지만 필수는 아닙니다. 새로운 고유 한 단어 목록을 출력하기에 충분한 공간이 파티션에 있습니다. 이 두 …

5
파일 어디에서나 여러 키워드가 포함 된 파일 찾기
파일의 어느 곳에서나 내가 찾고있는 전체 키워드 세트가 포함 된 디렉토리의 모든 파일을 나열하는 방법을 찾고 있습니다. 따라서 키워드가 같은 줄에 표시 될 필요는 없습니다. 이를 수행하는 한 가지 방법은 다음과 같습니다. grep -l one $(grep -l two $(grep -l three *)) 세 개의 키워드는 하나의 예일 뿐이며 두 개 …

4
명령의 출력을 링 버퍼에 저장
stdout에서 많은 출력을 생성하는 장기 실행 명령이 있습니다. 예를 들어 마지막 3 일 또는 마지막 기가 바이트 (가운데 절단 선을 피함) 만 가능하고 가능한 경우 20MiB보다 크지 않은 파일 청크를 유지할 수 있기를 원합니다. 각 파일 청크에는 숫자 접미사 또는 타임 스탬프가 지정됩니다. 다음과 같은 것 : my-cmd | magic-command …

3
첫 번째 필드가 Linux1로 문자열로 시작하는 경우에만 awk + print 행
첫 번째 필드가 Linux1로 시작하는 경우 줄을 인쇄하는 방법 예를 들면 다음과 같습니다. echo Linux1_ver2 12542 kernel-update | awk '{if ($1 ~ Linux1 ) print $0;}' 첫 번째 필드는 Linux1로 시작하는 동안 목표는 행을 인쇄하는 것입니다. 라인의 예 : Linux1-new 36352 Version:true Linux1-1625543 9847 Linux1:16254 8467563 비고-공간 또는 TAB은 처음 …


5
Sed 명령을 사용하지 않고 문자열을 찾아 바꾸는 방법은 무엇입니까?
우리 모두 알고 있듯이 sed문자열을 찾아서 바꾸는 것이 매우 효율적입니다. 예를 들어 'a'를 찾은 다음 'b':로 바꾸십시오 sed 's/a/b/g'. 대신 다른 명령이나 셸 스크립트 로이 작업을 수행 할 수 sed있습니까? sed명령 이없는 TV 용 잘린 리눅스 시스템 용 입니다. 따라서 대신 다른 명령이나 스크립트를 사용해야합니다sed 's/a/b/g'. –

3
머리는 여분의 캐릭터를 먹는다
다음 쉘 명령은 입력 스트림의 홀수 행만 인쇄해야합니다. echo -e "aaa\nbbb\nccc\nddd\n" | (while true; do head -n 1; head -n 1 >/dev/null; done) 그러나 대신 첫 번째 줄을 인쇄합니다 aaa. -c( --bytes) 옵션 과 함께 사용하면 마찬가지입니다 . echo 12345678901234567890 | (while true; do head -c 5; head -c 5 …

5
많은 양의 파일 결합
하나의 열과 동일한 수의 행으로 구성된 ± 10,000 개의 파일 ( res.1- res.10000)이 있습니다. 내가 원하는 것은 본질적으로 간단합니다. 모든 파일을 새 파일에 열 단위로 병합하십시오 final.res. 나는 다음을 사용하려고 시도했다. paste res.* 그러나 결과 파일의 작은 하위 집합에 대해서는 작동하는 것처럼 보이지만 전체 세트에서 수행 할 때 다음 오류가 …

5
열의 타임 스탬프를 날짜로 변환하려면 어떻게해야합니까?
이것을 포함하는 파일이 있습니다 : 1415602803,LOGIN SUCCESS,AUTH,user2,192.168.203.63,10.146.124.73,59996,22 1415602807,LOGIN SUCCESS,AUTH,user1,172.24.31.10,172.32.1.1,48191,22 1415602811,LOGIN FAILED,AUTH,root,172.24.166.153,10.146.124.73,52506,22 1415602815,LOGIN FAILED,AUTH,user3,192.168.123.55,10.146.32.99,55750,22 타임 스탬프를이 형식의 날짜로 변환하고 싶습니다. 2014-11-10 02:00:03,LOGIN SUCCESS,AUTH,user2,192.168.203.63,10.146.124.73,59996,22 2014-11-10 02:00:07,LOGIN SUCCESS,AUTH,user1,172.24.31.10,172.32.1.1,48191,22 2014-11-10 02:00:11,LOGIN FAILED,AUTH,root,172.24.166.153,10.146.124.73,52506,22 2014-11-10 02:00:15,LOGIN FAILED,AUTH,user3,192.168.123.55,10.146.32.99,55750,22 어떻게해야합니까? 나는 이것이 효과가 있음을 알고있다 : perl -pe 's/(\d+)/localtime($1)/e'( 이 질문에서 ) 출력 형식은 Mon Nov 10 02:00:03 …

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