/opt/tin/toss의 일부 줄을 교체하기 위해 sed 등을 사용해 보았습니다. *
예를 들어
37 7 * * * /opt/tin/toss
43 7 * * * /opt/tin/te1
58 7 * * * /opt/tin/test2
산출:
37 * * * * /opt/tin/toss
43 7 * * * /opt/tin/te1
58 7 * * * /opt/tin/test2
일반적으로 7은 무작위로 생성되며 0에서 24까지 2, 4 또는 8이 될 수 있습니다.
답변1
sed '/\/opt\/tin\/toss/ s/^\([^ ]* \+\)[^ ]*\( .*\)$/\1*\2/'
다음과 같이 읽을 수 있습니다.
가능하다면 /opt/tin/toss
일치하는 패턴을 교체하세요.
^
줄의 시작, 그 다음
\([^ ]* \+\)
\(
임의 개수 의 문자로 구성된 첫 번째 그룹 [^ ]*
(최대 하나 이상의 공백) \+
, 그 다음 그룹 끝\)
[^ ]*
다음은 [^ ]*
우주까지 무엇 이든 온다
\( .*\)
\( .*\)$
그 다음에는 일치하는 두 번째 공백 세트가 오고 끝까지 모든 것이 이어집니다.
그리고
/\1*\2/
첫 번째 그룹, 그 다음 *
두 번째 그룹.
답변2
sed의 예
sed 's/^\([0-9]*\) [0-9]* *\(\* *\* *\* *\/opt\/tin\/toss.*\)$/\1 * \2/'
이것은 \([0-9]*\)
첫 번째 숫자와 일치하고 값을 유지합니다.\1
이는 \(\* *\* *\* *\/opt\/tin\/toss.*\)
명령줄의 마지막 별 3개와 일치하고 해당 값을 유지합니다.\1