고급 Bash 스 크 립 트 프로 그래 밍 가이드 (26): 텍스트 처리 명령 (2)
4945 단어 shell
견지했어
텍스트 와 텍스트 파일 을 처리 하 는 명령
look
look 명령 은 grep 명령 과 비슷 하지만 이 명령 은 '사전 조회' 만 할 수 있 습 니 다. 즉, 검색 한 파일 은 정렬 된 단어 목록 이 어야 합 니 다. 기본 값 으로 어떤 파일 을 검색 할 지 지정 하지 않 으 면 look 명령 은 기본 검색/usr/share/dict/words 입 니 다. 물론 다른 디 렉 터 리 에 있 는 파일 을 지정 하여 검색 할 수 있 습 니 다.
하나의 인 스 턴 스: 목록 에 있 는 단어의 정확성 을 검사 합 니 다.
#!/bin/bash
# .
name="./file" # .
echo
# Stephane Chazelas :
while read word && [[ $word != end ]]
do if look "$word" > /dev/null
then echo "\"$word\" is valid."
else echo "\"$word\" is invalid."
fi
done <"$name"
exit 0
# will never be called
while [ "$word" != end ] # .
do
read word # , .
look $word > /dev/null # .
lookup=$? # 'look' .
if [ "$lookup" -eq 0 ]
then
echo "\"$word\" is valid."
else
echo "\"$word\" is invalid."
fi
done <"$name" # stdin $file, "reads" $file.
echo
exit 0
결과:root@ubuntu:~/resource/shell-study/0620-2013# cat file
this
good
example
then
echo
23
45
root@ubuntu:~/resource/shell-study/0620-2013# ./test7.sh
"this" is valid.
"good" is valid.
"example" is valid.
"then" is valid.
"echo" is valid.
"23" is invalid.
"45" is invalid.
root@ubuntu:~/resource/shell-study/0620-2013#
상기 사례 의 두 번 째 방법 은 아직도 해결 되 지 않 은 문제 가 존재 한다.sed, awk
이 두 명령 은 모두 독립 된 스 크 립 트 언어 로 텍스트 파일 과 명령 출력 을 분석 하기에 적합 합 니 다. 단독으로 사용 할 수도 있 고 파이프 와 셸 스 크 립 트 를 결합 해서 사용 할 수도 있 습 니 다.
sed
대화 식 이 아 닌 "스 트림 편집기"는 일괄 처리 모드 에서 여러 개의 ex 명령 을 사용 할 수 있 습 니 다. 셸 스 크 립 트 에서 매우 유용 하 다 는 것 을 알 게 될 것 입 니 다.
awk
프로 그래 밍 가능 한 파일 추출 기와 파일 포맷 도 구 는 구조 화 된 텍스트 파일 에서 특정 도 메 인 (특정 열) 을 처리 하거나 추출 하 는 것 이 좋 습 니 다. 문법 은 C 언어 와 유사 합 니 다.
당신 은 항상 위의 두 명령 과 접촉 할 것 입 니 다. 그들 은 그렇게 잘 지내 지 못 합 니 다. O (∩ ∩) O ~ 나 는 O (∩ ∩) O 라 고 생각 합 니 다.
wc
wc 는 파일 이나 I/O 흐름 의 '단어 수' 를 통계 할 수 있 습 니 다.
root@ubuntu:~/resource/shell-study/0620-2013# cat file
this
good
example
then
echo
23
45
root@ubuntu:~/resource/shell-study/0620-2013# wc file
7 7 34 file
root@ubuntu:~/resource/shell-study/0620-2013#
첫 번 째 7 은 7 lines, 두 번 째 7 은 7 words, 세 번 째 34 코드 34 를 대표 합 니 다. characters, 손가락 을 벗 기 고 셀 수 있 습 니 다. O (∩ ∩) O ~, 마지막 으로 파일 이름 입 니 다.wc - w 단어 수량 통계.
root@ubuntu:~/resource/shell-study/0620-2013# wc -w file
7 file
root@ubuntu:~/resource/shell-study/0620-2013#
wc - l 통계 줄 수량.
root@ubuntu:~/resource/shell-study/0620-2013# wc -l file
7 file
root@ubuntu:~/resource/shell-study/0620-2013#
wc - c 바이트 수량 통계.
root@ubuntu:~/resource/shell-study/0620-2013# wc -c file
34 file
root@ubuntu:~/resource/shell-study/0620-2013#
wc - m 문자 수 를 통계 합 니 다.
root@ubuntu:~/resource/shell-study/0620-2013# wc -m file
34 file
root@ubuntu:~/resource/shell-study/0620-2013#
wc - L 파일 의 가장 긴 줄 길 이 를 보 여 줍 니 다.
root@ubuntu:~/resource/shell-study/0620-2013# wc -L file
7 file
root@ubuntu:~/resource/shell-study/0620-2013#
하나의 인 스 턴 스: 현재 작업 디 렉 터 리 에 몇 개의 스 크 립 트 파일 이 있 는 지 wc 명령 으로 통계 합 니 다.root@ubuntu:~/resource/shell-study/0620-2013# ls
file file2 test1.sh test3.sh test5.sh test7.sh
file1 sys.log test2.sh test4.sh test6.sh
root@ubuntu:~/resource/shell-study/0620-2013# ls *.sh | wc -l
7
root@ubuntu:~/resource/shell-study/0620-2013#
이어서 실례 를 보십시오. wc 명령 은 t 로 시작 하 는 모든 파일 의 크기 를 통계 합 니 다.root@ubuntu:~/resource/shell-study/0620-2013# ls
file file2 test1.sh test3.sh test5.sh test7.sh
file1 sys.log test2.sh test4.sh test6.sh
root@ubuntu:~/resource/shell-study/0620-2013# wc t* | grep total |awk '{print $3}'
5295
root@ubuntu:~/resource/shell-study/0620-2013# wc t*
12 19 148 test1.sh
20 54 511 test2.sh
81 189 2535 test3.sh
15 41 391 test4.sh
17 40 335 test5.sh
24 58 521 test6.sh
36 93 854 test7.sh
205 494 5295 total
root@ubuntu:~/resource/shell-study/0620-2013#
지정 한 파일 에 '어떤 내용' 이 포 함 된 줄 이 얼마나 되 는 지 wc 명령 을 사용 합 니 다.root@ubuntu:~/resource/shell-study/0620-2013# cat file
this my dog
good luch
this is mine
hello
happy
this ok
that this
root@ubuntu:~/resource/shell-study/0620-2013# grep "this" file | wc -l
4
root@ubuntu:~/resource/shell-study/0620-2013#
여기까지, 오늘 좀 쉬 자, O (∩ ∩) O ~먼저 여기까지, O (∩ ∩) O ~
내 칼럼 주소:http://blog.csdn.net/column/details/shell-daily-study.html
계속...
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
ZSH에서 물고기까지ZSH는 수년 동안 내 기본 셸이었습니다. 이제 몇 달 동안 사용하면서 ZSH 구성에 대해 몇 가지 사항을 발견했습니다. 우리는 을 제공하는 시스템과 더 빨리 상호 작용하는 경향이 있습니다. 내.zshrc 구성에는 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.