Yaygın olmayan bazı satırları olan iki dosyam yok.Iki dosya arasında ortak satırları sıralamadan nasıl kaldırılır?
sort -u file1.txt > file1_sorted.txt
sort -u file2.txt > file2_sorted.txt
comm -23 file1_sorted.txt file2_sorted.txt > file_final.txt
Çıktı:
file1.txt
Z
B
A
H
L
file2.txt
S
L
W
Q
A
ben ortak çizgileri kaldırmak için kullanıyorum yolu şudur
B
H
Z
Sorun file1.txt sırasını tutmak istiyoruz ki, demek:
İstenilen çıktı: Ben tought
Z
B
H
bir çözüm dosya2'nin tüm satırları okumak için bir döngü yapıyor txt ve:
sed -i '/^${line_file2}$/d' file1.txt
Ancak dosyalar büyükse performans azalır.
- Fikrim hoşunuza gitti mi?
- Bunu yapmak için başka seçeneğiniz var mı? (Invert için
-v
, dosya için-f
)
'a [0 $] = 7' Neden yediye eşittir? Teşekkürler! :) – harrison4
@JohnDoe sadece sıfır olmayan bir sayıya ihtiyacımız var, 7 ve 1'in hiçbir farkı yok. Eğer kendinizi rahat hissettiriyorsa 1'e dönüştürüyorum. :-) – Kent
Evet, şimdi daha iyi hissediyorum. :) – harrison4