# İle başlayan satırları sil


10

#Solunda ve sağında boşluk olabileceği düşünüldüğünde, a ile başlayan satırları nasıl silebilirim #?

  # Master socket provides access to userdb information. It's typically

Yanıtlar:


13

Bu işe yarıyor gibi gözüküyor, ama ben derin bir düşünce vermedim:

sed -e '/^[[:space:]]*#/d'

10

Sen kullanabilirsiniz grepbunun için

grep -vh '^[[:space:]]*#' filename

Tahmin ettiğim gibi, bazı dosyalardan yorumları kaldırdığınız için, yukarıdakileri genişleten boş satırları da kaldırmayı düşünebilirsiniz:

grep -vh '^[[:space:]]*\(#\|$\)' filename

3

awk çözüm, desen eşleştirme ters çevirmektir.

$> cat ./text
elephant
# Master socket provides access to userdb information. It's typically
zoo
 #ok
penguin
# !

$> awk '!/^(\ )*#/ {print $0}' ./text
elephant
zoo
penguin

4
Boşluk karakteri, uzay karakterini yakalamak gerek kaçmaya gerek yok, gerek varsayılan işlemi belirtmek için: awk '!/^ *#/' ./text.
manatwork

awk '/^ *#/{next}1' fileyeterince iyi olmalı.
jaypal singh


0

ДМИТРИЙ МАЛИКОВ tarafından gönderilen örnek verileri kullanarak ...

$ grep -vPh '^\s*#' filename.txt | grep -Po '\w+'
elephant
zoo
penguin

Grep için -P anahtarını kullanmak için grep ile pcre kullanmayı tercih ediyorum (GNU grep olmalı). İkinci grep, beyaz boşluk olmadan kelimeleri vermek için saf şekerdir. Ayrıca boş satırları "kaldırır".


-1
$ perl -pi -e '$_="" if /^\s*#/' filename

Bu iyi değil - satırları silmez ve gibi satırları temizlera#b
Mat
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.