Sıralı satırlarla iki dosyam var. Bir dosya (B) diğer dosyanın (A) bir alt kümesidir. B'deki tüm satırları bulmak istemiyorum. İdeal olarak, bu satırları içeren bir dosya (C) oluşturmak istiyorum. Unix'te bu mümkün mü? Bir komut dosyası yazmak yerine bunu yapmak için tek satırlı bir komut arıyorum. join
ve diff
komutlarına baktım, ancak bunu yapmak için bir komut seçeneği bulamadım. Yardım için teşekkürler. Bu konudaKüme satırından iki dosyanın Kümesi - Kümesi nasıl bulunur?
cevap
Bu bastırır ortak hatları:
comm -3 a b
Nasıl:
grep -v -f B A > C
Siz de fark ile yapabilirsiniz. sipariş umurunda (@ johlo en grep cevap aksine) Diff, (@ johnshen64 en comm cevap aksine) olmayan sıralı dosyalar üzerinde çalışır:
$ cat a
a
b
c
d
e
$ cat b
a
b
f
d
e
$ diff -dbU0 a b
--- a 2012-05-18 16:02:30.603386016 -0400
+++ b 2012-05-18 16:02:45.547817122 -0400
@@ -3 +3 @@
-c
+f
Yani sadece ihmal hatlar-düşünen sipariş almak için bir boru hattı kullanabilirsiniz:
$ diff -dbU0 a b | tail -n +4 | grep ^- | cut -c2-
c
Awk Çözüm
Girdi dosyaları
bir
aaa
bbb
ccc
b
ccc
ddd
eel
Kod
awk ' NR==FNR { A[$0]=1; next; }
{ if ($0 in A) { A[$0]=0; } }
END { for (k in A) { if (A[k]==1) { print k; } } } ' a b > c
c (çıktı dosyası)
bbb
aaa
OP özellikle komut dosyası olmayan bir çözüm istedi. Verilen komut dosyasını komut satırına koydunuz, ama ... – derobert
Bu join
komut ne istediğini yapacak:
join -v 1 fileA fileB > fileC
Gösteri: Eğer sorunuzu belirtildiği gibi
$ cat fileA
a
c
d
g
h
t
u
v
z
$ cat fileB
a
d
g
t
u
z
$ join -v 1 fileA fileB
c
h
v
Bu sıralı dosyaları varsayar. sıralanmamış dosyaları için: bir ders `comm kullanmak c
join -v 1 <(sort fileA) <(sort fileB)
- 1. "Git kümesi" nasıl ayarlanır
- 2. Amazon ECS kümesi nasıl anlaşılır
- 3. Veri Kümesi Nasıl Sıralanır?
- 4. alt kümesi dataframe
- 5. İki veri kümesi sonuçlarını tek bir
- 6. Kullanılmadığında dataproc kümesi nasıl sonlandırılır?
- 7. Numaralandırma alt kümesi nasıl alınır
- 8. düğme kümesi vardır
- 9. HTML.HiddenFor değer kümesi
- 10. Yükseltme EMR Kümesi?
- 11. Python veri kümesi
- 12. django-tables2 sütun kümesi
- 13. etiket yalnızca alt kümesi
- 14. İki düzensiz veri kümesi arasındaki noktaları nasıl arayabiliriz?
- 15. Django: İki modele dayalı bir form kümesi nasıl kaydedilir
- 16. Plot Yoğun Veri Kümesi
- 17. Haber Makalesi Veri Kümesi
- 18. R: Benim veri kümesi
- 19. Django ancak sorgu kümesi
- 20. Geçersiz veri kümesi adı
- 21. sonarlint kural kümesi dosyaları
- 22. Powershell: Birden çok parametre kümesi
- 23. Küp-up ile Google Compute Engine'de CoreOS kümesi nasıl oluşturulur?
- 24. Git'ten bir tarih alt kümesi nasıl çıkarılır?
- 25. Psql çıkışında sonuç kümesi dekorasyonu nasıl gizlenir
- 26. Crystal Reports'ta XML veri kümesi
- 27. Chart.js v2 gizlemek veri kümesi
- 28. XSL msxsl: düğüm kümesi sorunu
- 29. Magento kurulum komut dosyasında öznitelik kümesi oluştur
- 30. API aracılığıyla GCE Kube kümesi v1.2 oluşturma
Ve durumunda Hiç iki dosyada ortak satırlar bulmak istiyorum, üçüncü dosyası oluşturmak için – voithos
ab'' iletişimi -12 kullanabilirsiniz -3 ab> c' – 0x4a6f4672