파일의 텍스트 줄을 다른 파일로 변경하고 싶습니다. 예: 내가 가지고 있는 텍스트
내보내기 GEOFIL='/afs/in2p3.fr/home/throng/antares/DETECTOR/r12_c00_s01.det 1 1'
새것으로 교체하고 싶어요
내보내기 GEOFIL='/pbs/throng/antares/DETECTOR/r12_c00_s01.det 1 1'
이 작업은 현재 디렉터리의 모든 파일에 대해 수행되어야 합니다.
답변1
사용 sed
명령:
sed -i -e 's#/afs/in2p3.fr/home/#/pbs/#' the_filename
노트:
-i
옵션은 출력이라는 파일의 내용을 변경하여the_filename
새 파일을 만드는 데 사용됩니다.#
s
텍스트에/
문자가 포함되어 있으므로 sed 명령에 문자를 사용하십시오.
현재 디렉토리의 모든 파일에 대해 실행하려면 다음을 수행하십시오.
find . -maxdepth 1 -type f -exec sed -i -e 's#/afs/in2p3.fr/home/#/pbs/#' {} \;
노트:
.
: 현재 디렉터리에서 작업-type f
: 표준 파일에만 적용됩니다.-maxdepth 1
: 하위 디렉터리가 아닌 현재 디렉터리(깊이 = 1)에서만 작동합니다.{}
find
명령으로 찾은 파일 이름 으로 바꾸십시오.\;
-exec
옵션 끝이에요