Linux에서 부분적인 호스트 이름 출력을 가져와서 sed를 사용하여 파일에서 사용하려고 합니다. 예를 들어, 이 명령을 호스트 이름|tail -c 4로 사용하면 출력이 마지막 4개 숫자로 표시됩니다. 그런 다음 이 출력을 사용하고 파일의 다른 텍스트로 바꿉니다.
호스트 이름 명령의 일부가 tail -c 4 옵션 "1234"로 표시된다고 가정하면 한 단계 더 나아가 이를 사용하여 다른 파일로 대체할 수 있는 방법은 무엇입니까? 다음을 통해 수동으로 이 작업을 수행할 수 있습니다.
호스트 이름|tail -c 4; sed -i 's/oldtext/1234/g' 파일 이름.txt
하지만 스크립트로 이를 달성하는 방법을 모르시나요? 어떤 아이디어가 있나요?
답변1
첫 번째 명령의 출력을 변수에 저장할 수 있습니다.
$ var=$(hostname |tail -c 4)
보관 후 대체용으로 사용 가능sed
$ sed -i.bak "s/oldtext/$var/g" filename.txt