Linux Shell 은 파일 의 줄, 단어, 문 자 를 교체 합 니 다.

1491 단어 리 눅 스
텍스트 파일 을 처리 할 때 파일 의 줄, 단어, 문 자 를 교체 하고 옮 겨 다 니 는 것 은 매우 자주 사용 되 는 작업 입 니 다.그리고 간단 한 순환 을 교체 에 사용 하고 stdin 이나 파일 의 방향 을 바 꾸 는 것 이 바로 파일 의 줄, 단어, 문 자 를 교체 하 는 기본 적 인 방법 입 니 다.
잔말 말고 바로 어떻게 실현 되 는 지 보 자.
1. 교체 문의 각 줄
표준 입력 에서 while 순환 을 사용 하여 읽 습 니 다. 표준 입력 에서 읽 으 려 면 파일 의 방향 을 바 꾸 고 stdin 으로 바 꿔 야 합 니 다. 코드 는 다음 과 같 습 니 다.
while read line;
do
echo $line;
done < file.txt

코드 의 첫 줄 은 stdin 에서 한 줄 을 읽 고 stdin 의 출처 는 file. txt 입 니 다. 마지막 줄 은 데이터 흐름 으로 방향 을 바 꾸 었 기 때문에 file. txt 의 내용 을 stdin 으로 바 꾸 었 습 니 다.
2. 한 줄 의 모든 단 어 를 교체 합 니 다.
우 리 는 for 순환 으로 한 줄 의 단 어 를 교체 할 수 있 습 니 다. 코드 는 다음 과 같 습 니 다.
read line;
for word in $line;
do
echo $word;
done

코드 의 첫 줄 은 stdin 에서 한 줄 을 읽 은 다음 에 for 로 한 줄 의 모든 단 어 를 반복 하고 출력 합 니 다. 정말 간단 하고 실 용적 입 니 다.
3. 한 단어 에 있 는 모든 문 자 를 교체 합 니 다.
단어 에서 모든 문 자 를 교체 하 는 것 은 이 세 가지 교체 에서 가장 어 려 운 것 이 라 고 할 수 있다. 단어 에서 문 자 를 추출 하 는 데 일정한 기술 이 필요 하기 때문에 그 방법 은 다음 과 같다.
for 순환 을 이용 하여 변수 i 를 교체 하고 교체 범 위 는 0 에서 문자 의 길이 - 1 입 니 다.그러면 어떻게 단어의 문 자 를 꺼 냅 니까?우 리 는 특수 한 표현 식 을 통 해 단어의 i 자 모 를 꺼 낼 수 있 습 니 다. ${string: start position: count of characters} 문자열 string 에서 제 start 를 되 돌려 주 겠 다 는 뜻 입 니 다.position 에서 지 어 낸 countof_characters 문자 로 구 성 된 문자열 은 한 단어 에 있 는 첫 번 째 문 자 를 교체 하 는 데 있어 서 당연히 string 의 두 번 째 문자 부터 길이 가 1 인 하위 문자열 을 되 돌려 주 는 것 이 바로 하위 문자열 추출 기술 입 니 다.그래서 코드 는 다음 과 같다.
for((i=0; i

주: ${\# word} 변수 워드 의 값 길이, 즉 단어의 길 이 를 되 돌려 줍 니 다.

좋은 웹페이지 즐겨찾기