-
com
grep
:diff -c file1 file2 | grep '^[-!*]''
-
com
sed
:diff -c file1 file2 | sed '/^[-!*]/!d'
Eu tenho um script que usa diff -c
, em seguida, coloca a saída em um arquivo de texto. O que eu quero é remover a linha que não tem o "!" e exiba as linhas com o ponto de exclamação. Isso é possível? O comando cut
pode fazer o truque?
Eu queria usar diff -c
porque ele separa os arquivos de directory1 para directory2.
exemplo:
*** 1,3 ****
! 3856715355 /home/dir
4294967277 /home/dir/file1 <---remove this line
! 154272340 /home/dir/file5
--- 1,4 ----
! 1765342654 /home/dir
4294967277 /home/dir/file1 <--- remove this line
! 803775803 /home/dir/file4
! 2580902204 /home/dir/file99
Com grep:
diff -c file1 file2 | grep -v '^ '
nenhuma das outras linhas começa com dois espaços: não os que começam com !
e não as indicações de linha.
Tags diff scripting shell-script