기본적으로 동일한 파일 전후의 차이점을 확인하고 싶습니다.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