파일이 존재하지 않으면 파일을 찾아 bash 스크립트를 작성하여 파일에 추가하십시오.
Host localhost
ForwardAgent yes
그래서 "line then new line 'tab' then text"
민감한 형식이라고 생각합니다. 나는 당신이 이것을 할 수 있다는 것을 알고 있습니다 :
cat temp.txt >> data.txt
그러나 두 줄 이후로 이상하게 보입니다. 이 형식으로 추가하는 방법이 있습니까?
echo "hello" >> greetings.txt
답변
# possibility 1:
echo "line 1" >> greetings.txt
echo "line 2" >> greetings.txt
# possibility 2:
echo "line 1
line 2" >> greetings.txt
# possibility 3:
cat <<EOT >> greetings.txt
line 1
line 2
EOT
파일에 쓰는 데 sudo (다른 사용자 권한)가 필요한 경우 다음을 사용하십시오.
# possibility 1:
echo "line 1" | sudo tee -a greetings.txt > /dev/null
# possibility 3:
sudo tee -a greetings.txt > /dev/null <<EOT
line 1
line 2
EOT
답변
printf '%s\n %s\n' 'Host localhost' 'ForwardAgent yes' >> file.txt
또는 질문에 네 개의 공백이 아닌 문자 그대로의 탭인 경우 :
printf '%s\n\t%s\n' 'Host localhost' 'ForwardAgent yes' >> file.txt
와 동일한 효과를 얻을 수 echo
있지만 구현마다 구현 방법이 다르지만 printf
일정합니다.
답변
echo -e "Hello \nWorld \n" >> greetings.txt
답변
다른 접근 방식은 tee
tee -a ~/.ssh/config << END
Host localhost
ForwardAgent yes
END
tee
의 매뉴얼 페이지 에서 몇 가지 선택 라인 :
티 유틸리티는 표준 입력을 표준 출력에 복사하여 0 개 이상의 파일로 복사합니다.
-a-파일을 덮어 쓰지 않고 출력을 파일에 추가합니다.
답변
SED는 다음과 같이 파일의 끝에 행을 추가 할 수 있습니다. 파일의 끝을
sed -i '$ a text to be inserted' fileName.file
$
선택 a
하고 추가 하도록 지시 한 후 삽입 할 텍스트를 표시합니다. 물론 파일 이름입니다.
출처 :
http://www.yourownlinux.com/2015/04/sed-command-in-linux-append-and-insert-lines-to-file.html
========== EDIT == ==========
이 방법은 다른 솔루션보다 추가 이점이 있습니까?
예,이 접근 방식은 다음과 같이 검색시 반환되는 파일에 추가 할 수있는 이점이 있습니다.
find . -name "*.html" -exec sed -i '$ a </html>' {} \;
위 예제를 사용하여 여러 디렉토리 내의 모든 html 페이지에서 누락 된 html 태그를 삽입했습니다.
====================================
답변
sudo와 함께 사용할 수 있기 때문에 sed를 사용했습니다. 예를 들면 다음과 같습니다.
sudo sed -i '$ a text to be inserted' fileName.file
대안은 다음과 같이 매우 추악합니다.
sudo bash -c "echo a text to be inserted >> fileName.file"
ssh로 끝났을 때 더 못 생겼습니다.
답변
또 다른 라이너는 다음과 같습니다.
echo "Greetings 1" >> greetings.txt && echo "Greetings 2" >> greetings.txt
-e
더 많은 제어 기능을 제공 하므로 옵션 사고를 선호합니다 .
echo -e "Greeting 1\nGreetings 2\n" >> greetings.txt