답변1
다음과 같은 작업이 awk
수행됩니다.
diff -y --suppress-common-lines backup.txt newfile.txt|awk -F'[>,]' '{gsub(/ /,"")} {print $2} '
답변2
다음을 통해 알 수 있습니다 diff
.
diff --old-line-format= \
--unchanged-line-format= \
--new-line-format=%L backup.txt newfile.txt
출력을 사후 처리하려면 diff -y
다음을 수행할 수 있습니다.
diff -y --suppress-common-lines backup.txt newfile.txt |
LC_ALL=C sed -n $'s/^[[:blank:]]*>\t//p'
backup.txt
그러나 이와 같은 줄을 포함하는 것이 가능 하다면 완벽하지는 않습니다 [blanks]>[TAB][anything]
.
$'...'
\t
TAB 문자로 확장되는 ksh93(현재 일부 다른 셸에서도 지원됨)의 특수한 유형의 따옴표입니다 . GNU 구현에는 TAB(대괄호 표현식은 아니지만)과 이미 일치하는 sed
가 필요하지 않습니다.\t
C
로캘 에서는 [[:blank:]]
공백이나 탭과 일치합니다.
파이프로 연결
tr -d \`\',
출력에서 `
및 문자를 제거합니다 '
.,
그리고:
sed 's/[[:space:]]\{1,\}/ : /g'
각 줄에 있는 하나 이상의 공백 문자 시퀀스를 " : "
.
또는 두 명령을 하나의 sed
명령으로 결합합니다.
sed 's/[`,'\'']//g; s/[[:space:]]\{1,\}/ : /g'
sed
또는 병렬 출력을 사후 처리하는 명령과 결합됩니다.
sed $'s/^[ \t]*>\t/!d
s///p
s/[`,'\'']//g
s/[[:space:]]\{1,\}/ : /g'