Bu bir şey değil grep
. "Grep" adı , komutun yaptığı (belirli bir normal ifade için ) "düzenli bir ifadeyi global olarak ara ve yazdır" ın kısaltmasıdır .ed
g/re/p
re
ed
1969'dan itibaren etkileşimli bir çizgi editörüdür, ancak büyük olasılıkla bugün sisteminizde yüklüdür. Biz got grep
gelen ed
ve bir kısayol veya takma belirli bir işlevsellik olarak görülebilir ed
ve sed
"stream- olduğunu ed
", yani (etkileşimli olmayan) akış düzenleyicisi.
sed
Bunun yerine kullanalım :
$ sed -n '1p' file.txt
1p
Dize bir küçük sed
"komut" diye baskılar ( p
) verilen adrese (karşılık gelen çizgi 1
, ilk çizgi). Düzenleme komutu bu arada editörde 1p
de aynı şeyi yapacaktır ed
.
-n
Elde ederiz tüm dosyanın ilk satırı yani, açıkça komut dosyası tarafından basılan değildir şey çıktısını almaz file.txt
.
Alternatif:
$ sed '1q' file.txt
Bu, dosyanın tüm satırlarını yazdırır, ancak q
satır 1'de () yazdırdıktan sonra ( ) 'dan çıkar . Bu tam olarak eşdeğerdir head -n 1 file.txt
.
POSIX standardında (genelleme) bunun head -n N
aynı olduğunu söyler sed 'Nq'
, yani "her satırı yazdır, ancak satırdan çık N
". Nedeni head
standarda dahil edildi, simetriye tail
(ve mevcut Unix uygulamalarıyla geriye dönük uyumluluğa) bağlıydı.
head -1 file.txt
?