Hadi bakalım:
diff <(head -n 1 file1) <(head -n 1 file2)
(Bu hiç bir şey dönecekti).
diff <(head -n 2 file1) <(head -n 2 file2)
Returns:
2c2
< 1
---
> 3
Bahsettiğiniz şeyleri yapmak için bunu bir senaryoya dahil edebilirsiniz.
#!/bin/bash
fileOne=${1}
fileTwo=${2}
numLines=${3:-"1"}
diff <(head -n ${numLines} ${fileOne}) <(head -n ${numLines} ${fileTwo})
Bunu kullanmak için, komut dosyasını çalıştırılabilir hale getirin chmod +x nameofscript.sh
ve daha sonra ./nameofscript.sh ~/file1 ~/Docs/file2
bu komutun sonuna daha fazla sayı eklemek istiyorsanız, varsayılan satır sayısını 1 olarak bırakır.
(Veya komut dosyanızda -f1 dosya1 -f2 dosya2 -n 1 ile anahtarlar yapabilirsiniz, ancak bunun için durum ifadesini kafamın üstünü hatırlamıyorum).
head
tarafından önerilen satır sayısı en başından döner -n
. Eğer ters yapmak istiyor olsaydınız, bu olurdu tail -n ${numLines}
(kuyruk, satır sayısından geriye doğru yapar).
5/10/16 düzenle:
Bu Bash'a (ve uyumlu mermilere) özgüdür. Bunu başka bir şeyden kullanmanız gerekiyorsa:
bash -c 'diff <(...) <(...)'