저는 Linux를 처음 사용합니다. /test
에있는 모든 파일 끝에 "\ n exit"를 추가하는 작은 스크립트가 필요합니다.디렉토리의 모든 파일에 문자열을 추가하는 스크립트
시도했는데 echo "\n exit" > file1.sql
시도했지만 작동하지 않았으나 \n
(줄 바꿈)이 작동하지 않았습니다.
어떻게하면됩니까?
저는 Linux를 처음 사용합니다. /test
에있는 모든 파일 끝에 "\ n exit"를 추가하는 작은 스크립트가 필요합니다.디렉토리의 모든 파일에 문자열을 추가하는 스크립트
시도했는데 echo "\n exit" > file1.sql
시도했지만 작동하지 않았으나 \n
(줄 바꿈)이 작동하지 않았습니다.
어떻게하면됩니까?
시도 echo $'\n'" exit"
.
$'\n'
은 bash의 문자 그대로의 개행 문자입니다.
또 다른 옵션은 \n
같은 이스케이프 시퀀스의 해석집니다 echo -e
사용하는 것입니다 : 당신이 이을 추가 언급하기 때문에, 또한
echo -e '\n exit'
을, 당신은 아마 대신 >
의 >>
합니다. @ mklement0에서 알 수 있듯이 echo -e
를 사용
이 스크립트는 단순히 :
for i in test/* ; do
echo -e '\n exit ' >> "$i"
done
두 가지 일반적인 솔루션은 아직 언급되지 않은 :
이printf '\n exit\n' >> file
echo '
exit' >> file
(위의 각이 "종료"후 줄 바꿈을두고 , 당신이 그것을 원하지 않는다면, 다음을 사용하십시오 :
printf '\n exit' >> file
그건 멋진 트릭입니다! 나는 for 루프로 확장 할 것입니다 : for $ in $ (ls); do echo $ '\ n' "exit">> $ f; done – speeves
@speeves : 좋은데, globbing ('for f in *')을 사용하면 명령 대체 ('for $ (ls)')보다 강력하고 빠릅니다. 나는 또한 이중 인용문'$ f'을 제안합니다 - @ damienfrancois의 답은 모든 것을합니다. – mklement0