Bunun sedmetin dosyasını işlemek için bir komut olduğunu biliyorum .
Googling'imden, -idosya üzerinde işlem yapmak anlamına geldiği anlaşılıyor , doğru mu?
Ne hakkında '1d'?
Bunun sedmetin dosyasını işlemek için bir komut olduğunu biliyorum .
Googling'imden, -idosya üzerinde işlem yapmak anlamına geldiği anlaşılıyor , doğru mu?
Ne hakkında '1d'?
Yanıtlar:
İçinde sed:
-i seçenek giriş dosyasını yerinde düzenler
'1d' giriş dosyasının ilk satırını kaldıracak
Örnek:
% cat file.txt
foo
bar
% sed -i '1d' file.txt
% cat file.txt
bar
Unutmayın ki, çoğu zaman -ibeklenmedik bir değişiklik olması durumunda orijinal dosyayı yedeklemeniz için bu seçeneği kullanırken yedekleme yapmak iyi bir fikirdir .
Örneğin, yaparsanız:
sed -i.orig '1d' file.txt
orijinal dosya olarak tutulacak file.txt.origve değiştirilmiş dosya olacaktır file.txt.
sed '1d' file.txt
İçeriğini yazdırır file.txt; ilk satır hariç; standart çıktıya.
sed -i '1d' file.txt # GNU, NetBSD, OpenBSD
sed -i '' '1d' file.txt # FreeBSD, macOS
İçeriğini yazdırır file.txt; ilk satır hariç; geri file.txt; orijinalin üzerine.
sed -i.back '1d' file.txt
file.txt.backDeğişiklik yapmadan önce orijinalin (as ) bir yedeğini oluşturur . FreeBSD dışında sed, (burada .back) eki -iseçeneğe eklenmelidir (aynı argümanda, -ive arasında boşluk yoktur .back).
sed '2d' file.txt
İçeriğini yazdırır file.txt; ikinci satır hariç; standart çıktıya.
(Herhangi bir numarayı belirlemek ilgili satırı kaldıracak).
-iBayrakla da uyumlu .
sed '1!d' file.txt
İçeriğini yazdırır file.txt; Tüm hariç fakat ilk satırında; standart çıktıya.
(Başka bir deyişle; yalnızca ilk satır yazdırılır).
-iBayrakla da uyumlu .
sed '$d' file.txt
İçeriğini yazdırır file.txt; son satır hariç; standart çıktıya.
-iBayrakla da uyumlu .
Var sed -h:
-i[SUFFIX], --in-place[=SUFFIX]
edit files in place (makes backup if SUFFIX supplied)
ve 'işlemi dosyanın kendisinde yap.' mutlak.
Ve mandedi ki: 'Sed bir dere editörüdür. Bir akış editörü, bir giriş akışında (bir boru hattından bir dosya veya giriş) temel metin dönüşümlerini gerçekleştirmek için kullanılır. '
Sorunuz olarak
sed -i '1d' file_name
anlamına gelir: yerdeki dosyadaki ilk satırı silin ve dosyaya "file_name"yedekleyin. (tıpkı dosyayı düzenlemek ve doğrudan ilk satırı silmek gibi.)
-iİlk önce ne olacağını görmek için olmadan da "kuru çalışma" yapabilirsiniz , sonra-idosyayı gerçekten değiştirmek için kullanın .