Linux 기본 명령: 텍스트 처리 도구의 split,cat
1. 파일 분할 및 결합 도구
2. 구문 형식
3. split 실전 연습
4, 통합:cat
5. 파일 무결성 검증
버전 정보
버전 정보
split (GNU coreutils) 8.4
cat (GNU coreutils) 8.4
1. 파일 분할 및 결합 도구
때때로 우리는 이런 상황을 만날 수 있다. 때로 파일이 비교적 커서 서버에 업로드하고 싶지만 서버 관리자가 안전을 고려하기 위해 업로드 공간을 제한했다. 예를 들어 20M의 파일만 업로드할 수 있다. 만약에 우리 파일의 부피가 100M이라면 때로는 압축해도 서버가 업로드하는 제한을 만족시킬 수 없다.
또는 우리는 큰 파일을 처리하고 (예를 들어 정렬) 대량의 메모리를 차지하며 프로그램이 오류를 보고할 수도 있고 효율도 높지 않다.
이때 우리는 절분 파일을 고려해야 한다. 100M의 파일을 몇 부로 절분한 후에 서버에 전달해야 한다.분할된 모든 문서는 원문서의 구성 부분이다.만약 전체 완전한 파일을 얻으려면, 우리는 파일의 결합 도구가 필요하다.
split - split a file into pieces.split은 파일을 길이나 부피가 같은 몇몇 파일로 나누는 도구입니다.
2. 문법 형식
[root@localhost ~]# split --help
Usage: split [OPTION] [INPUT [PREFIX]]
Output fixed-size pieces of INPUT to PREFIXaa, PREFIXab, ...; default
size is 1000 lines, and default PREFIX is `x'. With no INPUT, or when INPUT
is -, read standard input.
Mandatory arguments to long options are mandatory for short options too.
-a, --suffix-length=N use suffixes of length N (default 2)
-b, --bytes=SIZE put SIZE bytes per output file
-C, --line-bytes=SIZE put at most SIZE bytes of lines per output file
-d, --numeric-suffixes use numeric suffixes instead of alphabetic
-l, --lines=NUMBER put NUMBER lines per output file
--verbose print a diagnostic to standard error just
before each output file is opened
SIZE may have a multiplier suffix: b for 512, k for 1K, m for 1 Meg.
파일 가공 모드는 두 가지로 나뉩니다.
3. split 실전 시범
a.tar.gz는 각 5M 크기로 절단합니다:(2진 모드)
[root@localhost tmp]# ls -lh
total 17M
-rw-r--r-- 1 root root 17M Jun 20 22:15 a.tar.gz
、
[root@localhost tmp]# split -b5m a.tar.gz mysplit-
[root@localhost tmp]# ls -lh
total 33M
-rw-r--r-- 1 root root 17M Jun 20 22:15 a.tar.gz
-rw-r--r-- 1 root root 5.0M Jun 20 22:17 mysplit-aa
-rw-r--r-- 1 root root 5.0M Jun 20 22:17 mysplit-ab
-rw-r--r-- 1 root root 5.0M Jun 20 22:17 mysplit-ac
-rw-r--r-- 1 root root 1.2M Jun 20 22:17 mysplit-ad
outfile의 파일 이름은'mysplit-'입니다. 지정하지 않으면 기본적으로xaa,xbb...명명하다.
b. 줄 수에 따라 텍스트 파일 myfile.txt 탄젠트: (텍스트 모드)
[root@localhost tmp]# cat myfile.txt
1
2
3
4
5
6
[root@localhost tmp]# split -l2 myfile.txt myfile-
[root@localhost tmp]# ls -l
total 16584
-rw-r--r-- 1 root root 16919415 Jun 20 22:15 a.tar.gz
-rw-r--r-- 1 root root 4 Jun 20 22:25 myfile-aa
-rw-r--r-- 1 root root 4 Jun 20 22:25 myfile-ab
-rw-r--r-- 1 root root 4 Jun 20 22:25 myfile-ac
-rw-r--r-- 1 root root 12 Jun 20 22:25 myfile.txt
[root@localhost tmp]# head myfile-a*
==> myfile-aa <==
1
2
==> myfile-ab <==
3
4
==> myfile-ac <==
5
6
파일마다 두 줄만 있는 것을 볼 수 있습니다. 주의-l은 텍스트 파일(ASCII)만 조작할 수 있습니다.
우리는 이미 큰 문서를 여러 개의 작은 문서로 잘랐는데, 우리는 어떻게 그것들을 합병하여 복원합니까?
4. 합병
cat는 자주 사용하는 파일 보기 명령입니다.cat 명령을 이용하여 여러 개의 텍스트 파일을 하나의 파일로 통합할 수 있습니다.
#
# cat file1 file2 file3 > file
a, 텍스트 파일 병합
[root@localhost tmp]# cat myfile-* > file
[root@localhost tmp]# cat file
1
2
3
4
5
6
OK, 복원 완료.그러면 텍스트 파일에는cat 명령을 사용할 수 있습니다. 그러면 절단된 바이너리 파일에는요?
b. 바이너리 파일 병합
답은 긍정적입니다. 마찬가지로cat를 사용하여 완성할 수 있습니다.
[root@localhost tmp]# cat mysplit-* > my.tar.gz
5. 파일 무결성 검사
우리가 큰 파일을 여러 개의 작은 파일로 나누었을 때, 우리가 다시 작은 파일을 연결하면 원래의 파일과 일치할 수 있을지 틀림없이 고려할 것이다.이런 의문도 사실 일리가 있다. 왜냐하면 이것은 하나의 문서의 완전성과 관계가 있기 때문이다.
그러면 파일이 완전한지 검증할 수 있습니다. 이때 파일의 검사 도구와 관련됩니다.일반적으로 D5 도구를 사용하여 비교를 검증합니다.Linux에도 이런 도구가 있는데, 이를 md5sum이라고 한다.그것의 작용 원리는 주로 원시 파일의 내용에 따라 계산한 다음에 하나의 검사 코드를 제시하는 것이다. 원시 파일이 네트워크에서 전송되는 오류가 발생하거나 수정되면 다시 그를md5 검사하면 발생하는 검사 코드와 원시적으로 발생하는 검사 코드를 비교하고 같으면 일치하지 않으며 반대로 설명은 일치하지 않는다.
[root@localhost tmp]# md5sum a.tar.gz
e760656f7cf2f05158f73da75e8b720b a.tar.gz
[root@localhost tmp]# md5sum my.tar.gz
e760656f7cf2f05158f73da75e8b720b my.tar.gz
OK, 병합된 파일이 완전하다는 사실도 증명한다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
집 서버 설계 (하드웨어 편)자신의 Redmine이나 ownCloud를 운용하기 위해 사쿠라 VPS, DigitalOcean, OpenShift 등을 놀랐습니다만, 침착 해 왔으므로 현상을 정리하고 싶습니다. 먼저 하드웨어 구성을 정리합니다. ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.