키가 다음과 같이 파일에 있다고 가정하고 키를 대체하기 위해 파일을 수정하고 싶습니다.
42NM
52NM
23NO
XNNM
나는 "ok"라는 단어 대신에 NM을 사용하고 싶습니다.
1 #!bin/bash/
2
3 if [ -f KeyFile]
4 then
5 sed 's/[0-9][0-9]NM/Okay/g' KeyFile
6 else
7 echo "File does not exist or cannot be found."
8 fi
9
10 exit 0
나는 다음 명령을 실행했습니다.
chmod a+x FindKeys
그런 다음 스크립트를 실행하려고 하면 다음과 같은 결과가 나타납니다.
-bash-3.00$ ./FindKeys
-bash: ./FindKeys: bin/bash/: bad interpreter: No such file or directory
두 가지 문제가 있는 것 같습니다. 하나는 스크립트 파일이 올바르게 실행되지 않는 것이고, 두 번째는 명령이 sed
작동하지 않는다는 것입니다.
답변1
1호선: 해시뱅 라인이 올바르지 않습니다. 다음을 사용하세요.
#!/bin/bash
3호선: 유틸리티 참고 test
(끝 앞에 공백이 필요함 ]
):
if [ -f KeyFile ]
5호선sed
: 명령 에서 -i
활성화된 내부 편집을 사용합니다 sed
. 그렇지 않으면 편집 내용이 단순히 표준 출력으로 인쇄됩니다.
sed -i 's/[0-9][0-9]NM/Okay/g' KeyFile