sed 에서 @ 의미가 뭐죠?
글쓴이: quintus / 작성시간: 일, 2004/09/26 - 5:15오후
sed -e 's@^machine/m_@@' -e 's/.c$//' $$.f >$$.n
@ 은 무슨 뜻이죠?
Quote:
's/정규표현식/교체어/플래그'
('/' 문자는 어떤 s 명령에서도 다른 한 문자로 항상 교체할 수 있습니다.) '/' 문자(혹은 그대신 편의에 따라 쓰인 문자)는 '정규표현식'과 '교체어' 안에 쓰일 때에는 '\'문자가 선행됐을 때에만 사용할 수 있습니다. 또 정규표현식 안에서 줄바꿈은 '\n'의 두 문자 집합으로 표현됩니다.
위에 얘긴가요?
sed -e 's@\.c@.desc\\@' $$.f | sed -e '$s/\\//' >$$.a
윗줄에서 바로
sed -e 's@\.c@desc@' $$.f > $$.a 이렇게 하면 안 되는건지 해봐야 겠네요.
cat <<'EOF' You will be asked a series of questions. Each question will have a default answer enclosed in brackets, such as "[5.0]". In most cases, the default answer will work well. To use that value, merely press return. 'EOF'
위에서 cat << 'EOF' 에서
'EOF'는 뭐죠??
Forums:
별뜻 없습니다.s/matching_pattern/replacing_s
별뜻 없습니다.
s/matching_pattern/replacing_string/
시에 matching_pattern이나 replacing_string 에 '/' 문자가 오면
escaping 시켜주어야 하기 때문에,
유닉스에서 경로명 등을 처리하는 경우등에 '/' 를 다른 문자로 바꿔서 쓰곤 합니다.
즉,
s@matching_pattern@replacing_string@
식이 되는 것입니다.
s/\/home\/user\/test\/src\/a.c/\/user2\/test\/src2\/b.c/
보다는
s@/home/user/test/src/a.c@/user2/test/src2/b.c@
가 훨 보기도 좋고 치기도 편하잖아요?
아마 쉘 이스케이핑하고 섞이면 좀 더 헷갈린 경우가 나올 수 있을 겁니다.
s/// 정확한 문법이나 각 구성요소에 대한 명칭은 rtfm 하세요.
cat << 'EOF''EOF' 가 나올때 까지 아래
cat << 'EOF'
'EOF' 가 나올때 까지 아래 행들을
출력하라는 말입니다.
You will ~~~ 에서부터
~
~
return.
까지 화면으로 출력합니다.
'EOF' 이 행의 처음에 나와야 하구요.. 다른 문자를
써도 상관 없습니다.
우리 항시 웃고 살아요 ^^
감사합니다.
추석인데 답변이 바로 올라오네요.
댓글 달기