
기본적으로 동일한 파일 전후의 차이점을 확인하고 싶습니다.sed
실행을 시도했습니다:
diff /opt/postTrades.sh <<< $(sed 's/1\ MIN/10\ MIN/g' /opt/postTrades.sh)
그리고
diff <<< $(sed 's/1\ MIN/10\ MIN/g' /opt/postTrades.sh) < /opt/postTrades.sh
그리고
diff <<< (sed 's/1\ MIN/10\ MIN/g' /opt/postTrades.sh) < /opt/postTrades.sh
항상 얻는 것:
diff: missing operand after '/opt/postTrades.sh'
diff: Try 'diff --help' for more information.
올바른 방법은 무엇입니까? 감사해요.
답변1
diff
두 개의 파일 피연산자가 필요합니다. here-string을 사용하면 diff
표준 입력에 입력을 전달합니다 .
diff
표준 입력에서 읽으 려면 -
파일 이름으로 사용하십시오.
$ diff file - <<<"$( sed 'expression' file )"
또는 더 휴대하기 좋게,
$ sed 'expression' file | diff file -
및 <(...)
같은 프로세스 대체를 지원하는 셸을 사용하는 경우 이는 또 다른 해결책이 될 수 있습니다.bash
ksh93
$ diff file <( sed 'expression' file )
프로세스 대체는 파일로 표시되며 diff
사실상 "동일"합니다.
$ sed 'expression' file >tempfile
$ diff file tempfile
$ rm tempfile