read 행을 사용하여 파일에서 행을 읽는 while 루프가 있습니다. 그러면 줄이 비어 있는지 확인하고 싶습니다. 어떻게해야합니까? 공백이 있거나이 사이트의 변수에 관한 질문을 이미 발견했습니다. bash는 남자 페이지에서파일에서 한 행이 bash로 비어 있는지 확인하는 방법
[ -z "$line" ]
:
read 행을 사용하여 파일에서 행을 읽는 while 루프가 있습니다. 그러면 줄이 비어 있는지 확인하고 싶습니다. 어떻게해야합니까? 공백이 있거나이 사이트의 변수에 관한 질문을 이미 발견했습니다. bash는 남자 페이지에서파일에서 한 행이 bash로 비어 있는지 확인하는 방법
[ -z "$line" ]
:
당신은 테스트를 사용할 수 있습니다
문자열의 길이가 0 인 경우-z 문자열
사실. 문자열이 비어 있지 않은 경우
-n
운영자 검사 : 당신은 공백을 포함하는 문자열을 제외 할 싶다면
while read line
do
if [ -n "$line" ]
echo $line
fi
done < file.txt
, 당신은 배쉬의 패턴 교체 ${var//find/replacement}
를 사용할 수 있습니다. 예 :
if -n [ "${line//[[:space:]]/}" ]
당신이'[-n "$ line"]'이라고 쓴다면, 나는 행복 할 것이다. 나는 '배시'가 당신이 쓴 것을 허용한다고 의심합니다. (다른 곳에서는 볼 수없는 논리를 이해할 수는 없지만) 나는 큰 따옴표없이 불편할만큼 충분히 오래된 학교입니다. Bourne과 - Korn과 같은 다른 관련 셸을 사용했다면 따옴표가없는 표기법은 작동하지 않습니다. –
감사합니다, 재미있는, 전체 설명을 발견 [여기 4 번 지점] (http://mywiki.wooledge.org/BashPitfalls) – Andomar
오, shucks! 나를 때려! nice job – tekknolagi