이것은 내가 사용하는 쉘 스크립트의 코드입니다.
sed 's/xyxx/$date1/' /u001/Scripts/abc.html > /u001/Scripts/abc.html
이 코드는 AWK 명령에서 HTML 태그를 인쇄하려고 시도합니다.
nawk 'BEGIN{
FS=","
print "<HTML>""<HEAD>""<p>Hi All,<br><br>There are no cases closed on the"
print "xyxx that meet the criteria for submission</p>"
}
END{
print "<p>Regards,<br>Support Team</p></BODY></HTML>"
}
'
답변1
이 명령에서는
sed 's/xyxx/$date1/' /u001/Scripts/abc.html > /u001/Scripts/abc.html
리디렉션이 먼저 발생합니다! 따라서 쉘은 /u001/Scripts/abc.html
쓰기를 위해 열리고 비워집니다. 그런 다음 sed
명령이 실행되지만 입력 파일이 비어 있으므로 출력도 없습니다.
의견에서 알 수 있듯이 다음을 사용해야 합니다.
sed -i.bak 's/xyxx/'"$date1"'/' /u001/Scripts/abc.html
이것은 것이다
- 확장 백업으로 파일을 생성
.bak
하고 원본 파일(-i.bak
) 을 덮어씁니다. - 그리고 사용된 변수 값은
$date1
큰따옴표로 묶여 있기 때문에 표현식의 나머지 부분과 다릅니다sed
.