출력 파일(총 25줄)에서 처음 5자를 복사한 다음 해당 출력을 파일에 복사해야 합니다. 출력에서 공백 또는 빈 항목을 제거하는 것도 좋을 수 있습니다.
답변1
head
여기서 유용할 수 있습니다:
-c, --bytes=[-]K
print the first K bytes of each file; with the leading '-', print all but the last K bytes of each file
답변2
cut -c5
입력에서 각 줄의 처음 5자를 자릅니다. 행 수를 25로 제한하려면 다음을 사용하십시오 head -n25
.
cut -c5 file | head -n25
답변3
다음 sed
명령을 사용할 수 있습니다.
sed \
-e 's/\(^\w\{5\}\).*/\1/' \
-e '26,$d' \
-e '/^$/d' \
input_file > output_file
첫 번째 부분은 줄 시작 부분의 5개 문자와 일치하여 인쇄하고 나머지는 삭제합니다. 두 번째 부분은 처음 25줄만 인쇄되도록 합니다. 마지막 부분은 빈 줄을 제거합니다.
답변4
cat inputfile | head -c 5 > outputfile
그러면 출력이 파일로 리디렉션됩니다.
공백을 제거하려면 파일 내용을 필터링하십시오. 즉, 처음 5자를 추출하기 전에 공백을 제거하십시오.
cat inputfile | tr -d ' ' | head -c 5 > outputfile
다음 형식을 사용하여 tr
동일한 효과를 얻을 수도 있습니다.
cat inputfile | tr -d [:space:] | head -c 5 > outputfile
tr -d [:space:]
이 명령으로 파이프된 텍스트에서 모든 공백을 제거합니다.
파일의 처음 5자만 자르려면 위의 해결 방법을 따르세요.
이제 파일의 모든 줄에 대해 이 작업을 수행하려면 다음 단계를 따르세요.
cat inputfile | sed -e 's/ //g' | awk '{print substr($0,0,5)}' > outputfile
또는
sed -e 's/ //g' < inputfile | awk '{print substr($0,0,5)}' > outputfile
설명: sed -e 's/ //g'
모든 공백을 제거하고 awk '{print substr($0,0,5)}'
각 줄의 처음 5자를 인쇄합니다.