Penggunaan AWKAWK
- itu yang paling sederhana karena dapat diperoleh:
awk '/yellow/,0' textfile.txt
Contoh dijalankan
$ awk '/yellow/,0' textfile.txt
yellow
red
orange
more orange
more blue
this is enough
Grep
Anda juga bisa menggunakan grep
dengan --after-context
pilihan, untuk mencetak sejumlah baris setelah pertandingan
grep 'yellow' --after-context=999999 textfile.txt
Untuk pengaturan konteks otomatis, Anda dapat menggunakan $(wc -l textfile.txt)
. Ide dasarnya adalah bahwa jika Anda memiliki baris pertama sebagai pasangan dan Anda ingin mencetak semuanya setelah pertandingan itu, Anda perlu mengetahui jumlah baris dalam file minus 1. Untungnya, --after-context
tidak akan melempar kesalahan tentang jumlah baris, sehingga Anda bisa memberikan nomor itu sepenuhnya di luar jangkauan, tetapi jika Anda tidak mengetahuinya, jumlah total garis akan dilakukan
$ grep 'yellow' --after-context=$(wc -l < textfile.txt) textfile.txt
yellow
red
orange
more orange
more blue
this is enough
Jika Anda ingin mempersingkat perintah --after-context
adalah opsi yang sama dengan -A
dan $(wc -l textfile.txt)
, akan diperluas ke sejumlah baris diikuti dengan nama file. Jadi dengan begitu Anda mengetik textfile.txt
hanya sekali
grep "yellow" -A $(wc -l textfile.txt)
Python
skolodya@ubuntu:$ ./printAfter.py textfile.txt
yellow
red
orange
more orange
more blue
this is enough
DIR:/xieerqi
skolodya@ubuntu:$ cat ./printAfter.py
#!/usr/bin/env python
import sys
printable=False
with open(sys.argv[1]) as f:
for line in f:
if "yellow" in line:
printable=True
if printable:
print line.rstrip('\n')
Atau sebagai alternatif tanpa printable
bendera
#!/usr/bin/env python
import sys
with open(sys.argv[1]) as f:
for line in f:
if "yellow" in line:
for lines in f: # will print remaining lines
print lines.rstrip('\n')
exit()
grep
perintahgrep "yellow" -A $(wc -l textfile.txt)
.