문자열과 파일의 차이점

문자열과 파일의 차이점

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

<(...)같은 프로세스 대체를 지원하는 셸을 사용하는 경우 이는 또 다른 해결책이 될 수 있습니다.bashksh93

$ diff file <( sed 'expression' file )

프로세스 대체는 파일로 표시되며 diff사실상 "동일"합니다.

$ sed 'expression' file >tempfile
$ diff file tempfile
$ rm tempfile

관련 정보