file.txt에 "aaaa" 줄이 있고 그 뒤에 빈 줄만 추가하고 그 빈 줄 뒤에 텍스트 줄을 추가하고 싶다고 가정해 보겠습니다.
나는 다음과 같이 했습니다:
echo -e "\n" >> file.txt
echo "bbbb" >> file.txt 방금 echo "bbbb" >> file .txt를 사용했을 때 aaaa와 bbbb 사이에 두 개의 빈 줄이
보였습니다.
두 줄의 텍스트 사이에 빈 줄이 없습니다.
왜 이런 일이 발생하며 어떻게 제거합니까?
답변1
echo
인수로 사용된 문자열을 출력한 후 출력 문자열 끝에 개행 문자를 추가하여 줄을 종료합니다.
그리고
echo "string"
당신은 string
끝에 개행 문자를 얻게 될 것입니다.
따라서
echo -e "\n"
끝에 개행 문자와 개행 문자가 표시됩니다(즉, 두 개의 빈 줄).
추가 개행 문자가 필요하지 않거나(예: 종료되지 않은 행 출력) echo
해당 옵션을 사용 -n
하거나, 이 경우 빈 행만 삽입하려는 경우 인수와 함께 echo ""
또는 인수 없이 사용하세요.echo
에서 help echo
:bash
Options:
-n do not append a newline
-e enable interpretation of the following backslash escapes
다른 쉘로 이식 가능한 것을 원한다면 다음을 대신 bash
사용하십시오 printf
.
printf '\n' >>file.txt
printf 'bbbb\n' >>file.txt
또는 단일 리디렉션을 통해 두 문을 모두 실행하는 또 다른 방법은 다음과 같습니다.
{
printf '\n'
printf 'bbbb\n'
} >>file.txt
아니면 단순히
printf '\nbbbb\n' >>file.txt
관련된: