2016-03-21 21 views
0
#!/bin/bash 
cat $1 | awk ' /Info/, /<\/Body>/ {print $0}' | while read line; do 

    file=`awk -F '>' "{print $4}"` 

    echo "$file" 

done 

Temel olarak file giriş dosyasında awk'nin ilk satırında bazı bilgiler kaldırılmıştır. Şimdi yapmaya çalıştığım şey, awk -F kullanarak bir değişken bulmak ve 4. alan olan >'un ardından gelenleri bulmaktır. Şimdi sadece > için arama yapamam, çünkü dosyanın 100'leri var çünkü html.awk -F komutları nasıl yazılır

tamam belki birisi bunu şu şekilde cevaplayabilir: dosyayı şimdi çalıştırdığımda ileriye doğru bakmıyor ancak sadece '' 'hedefini kaldırıyor çünkü hedef olmayan alanın yerini bulmaya çalışıyorum. 3 '>' böylece alan 4 olurdu ama bu ne alıyorum değil mi? herhangi bir yardım harika olurdu!

+0

Hangi girişin açık olması gerekiyor? Awk betiğini çift tırnak içine aldığınız için '$ 4' kabuk tarafından genişletiliyor. Bir değişkendeki awk' çıktısını yakalamak için bir sebep yok. –

+0

bir süredir okuyor; temelde, sahip olduğum bir ton metin içeren bir girdi var, bu yüzden 3. '>' sonra gelen 4. alanı almaya çalışıyorum ve bunu bir değişkene kaydetmek ve bu değişkeni yazdırmak – NewEffect

+0

'awk' />/{print $ 4} 'ı istiyorum. Sadece sorunuzdan bir tahmin. – Brian

cevap

2

AWK 2 parça

  1. Seçenekler
  2. Dosya sizin örnekte

üzerinde çalışmak için gerektiriyorsa, o yani sınırlayıcı seçenekleri verdik, ne yazdırmak için, ancak bahsetmedim hangi dosya

ile çalışmak için bu

    deneyin veri içeren "dosya" olarak metin dosyası için komut

    result=`cat file | awk -F ">" '{print $4}'` 
    echo $result 
    

yılında

cat file | awk -F ">" '{print $4}' 
  • a>b>c>d>e>f 
    

    Yukarıdaki her iki gösterecektir olarak komut istemine On

  • 'd'.

  • +2

    Bu [bir işe yaramaz kedi kullanımı] (http://porkmail.org/era/unix/ award.html # kedi). ** awk ** argüman olarak okumak için bir dosya adı alır. Bu iyi: 'sonuç = \' awk -F '>' '{print $ 4}' dosya \ '' – Jeff

    +0

    görüyorum ki her şeyi 4. alandan sonra yazdırabilirim ancak 4. alanı ve bunu yazdırmak için buna ihtiyacım var. .. – NewEffect