[SOLVED]CLI u/ cari+edit kata dalam suatu baris

Pertanyaan umum seputar distribusi Ubuntu yang menjadi distro wajib members ubuntu-indonesia.com
User avatar
q_p
Posts: 3109
Joined: 14 Oct 2012, 13:01
Contact:

[SOLVED]CLI u/ cari+edit kata dalam suatu baris

Postby q_p » 23 Mar 2013, 18:37

Saya mempunyai satu database berisi daftar ribuan (mungkin jutaan) domain. Di dalamnya ada satu baris dengan teks blogspot.com, dan pada ratusan baris lainnya terdapat (mengandung) karakter *.blogspot.com. Illustrasi-nya begini =

Code: Select all

adult.blogspot.com
.
.
.
blogspot.com
.
.
.
zero.blogspot.com

Dan saya mengalami kesulitan untuk menemukan baris yang mengandung karakter/teks blogspot.com sekaligus meng-editnya sehingganga menjadi #blogspot.com seperti di bawah ini =

Code: Select all

adult.blogspot.com
.
.
.
#blogspot.com
.
.
.
zero.blogspot.com


Terima kasih sebelumnya
:confused:
Last edited by q_p on 27 Feb 2016, 21:52, edited 1 time in total.
Reason: Solved
User avatar
Malsasa
Posts: 2974
Joined: 07 Jun 2010, 22:37
Location: Mojokerto, Indonesia
Contact:

Re: [ASK]CLI u/ cari+edit kata dalam suatu baris

Postby Malsasa » 23 Mar 2013, 18:40

Untuk menemukan saja, ini bisa dicoba:

cat database.txt | grep blogspot.com

Untuk menyunting, saya belum tahu. Menanti yang mampu :) Akan sangat menarik pertanyaan akang ini :D Terima kasih, Kang.
User avatar
q_p
Posts: 3109
Joined: 14 Oct 2012, 13:01
Contact:

Re: [ASK]CLI u/ cari+edit kata dalam suatu baris

Postby q_p » 23 Mar 2013, 18:55

Thanks for your quick respons :)
User avatar
Malsasa
Posts: 2974
Joined: 07 Jun 2010, 22:37
Location: Mojokerto, Indonesia
Contact:

Re: [ASK]CLI u/ cari+edit kata dalam suatu baris

Postby Malsasa » 23 Mar 2013, 18:56

Yes, you're welcome, My Dear Brother. You don't have to worry.
User avatar
q_p
Posts: 3109
Joined: 14 Oct 2012, 13:01
Contact:

Re: [ASK]CLI u/ cari+edit kata dalam suatu baris

Postby q_p » 23 Mar 2013, 19:18

heheheh :)
Dengan perintah yang Anda sarankan, hasilnya masih dalam ribuan baris. Ini bagian ekor-nya =

Code: Select all

*.*.blogspot.com
.
.
.
ztod.blogspot.com
zune-porn-movies.blogspot.com
zwitterwesennikitanoemi.blogspot.com
zzgundamhentai.blogspot.com
baris yang tepat mengandung blogspot.com terlipat dalam layar monitor.
##PS
Nama file tersebut domains
User avatar
Malsasa
Posts: 2974
Joined: 07 Jun 2010, 22:37
Location: Mojokerto, Indonesia
Contact:

Re: [ASK]CLI u/ cari+edit kata dalam suatu baris

Postby Malsasa » 23 Mar 2013, 19:33

Dengan membaca man grep, saya memperoleh predikat ajaib -o:

cat database.txt | grep -o blogspot.com

Saya sudah membuat berkas berisikan beberapa blogspot.com dan grep benar-benar menampilkan hanya yang pas blogspot.com saja. Tidak yang ada subdomainnya. Silakan dicoba.

-o = only matching
User avatar
q_p
Posts: 3109
Joined: 14 Oct 2012, 13:01
Contact:

Re: [ASK]CLI u/ cari+edit kata dalam suatu baris

Postby q_p » 23 Mar 2013, 19:44

Ini hasilnya mas =
matching terhadap karakter-nya = true
matching terhadap baris yang hanya berisi blogspot.com = false
:confused:
trims mas
User avatar
Malsasa
Posts: 2974
Joined: 07 Jun 2010, 22:37
Location: Mojokerto, Indonesia
Contact:

Re: [ASK]CLI u/ cari+edit kata dalam suatu baris

Postby Malsasa » 23 Mar 2013, 19:46

Lho, kok keluarannya begitu? Di shell saya demikian:

Code: Select all

master@master:~$ cat coba.txt | grep -o blogspot.com
blogspot.com
blogspot.com
blogspot.com
blogspot.com
blogspot.com


Saya baru nemu -n untuk kasih nomor baris:

cat coba.txt | grep -on blogspot.com

Keluaran akang itu maksudnya bagamimana? Saya kurang paham.
User avatar
q_p
Posts: 3109
Joined: 14 Oct 2012, 13:01
Contact:

Re: [ASK]CLI u/ cari+edit kata dalam suatu baris

Postby q_p » 23 Mar 2013, 20:42

Sama saja mas, opsi n untuk menunjukkan blogspot.com ada di baris ke n.
Repotnya, *.blogspot.com masuk dlam hasil pencarian. Bukan yang benar2 match blogspot.com
User avatar
Malsasa
Posts: 2974
Joined: 07 Jun 2010, 22:37
Location: Mojokerto, Indonesia
Contact:

Re: [ASK]CLI u/ cari+edit kata dalam suatu baris

Postby Malsasa » 23 Mar 2013, 20:48

Saya telah mendapatkan jawaban SOLVED.

sed -i 's/^blogspot.com/#blogspot.com/g' coba.txt

Cukup satu baris, dengan sed. Saya tanya ke kanal #debian di server freenode, Kang. Yang memberikan jawaban SOLVED adalah rabbieth. Saya dapat banyak sekali wawasan baru yang sangat bermanfaat dan saya bahagia malam ini. Terima kasih banyak. Terima kasih banyak!

- Opsi -i membuat si sed ini menyimpan hasil perubahan.
- Karakter ^ itu membatasi HANYA tulisan blogspot.com (tidak boleh ada awalan)
- Opsi g itu untuk replacing.

Terima kasih, latihan yang sangat berguna.


Referensi:
1) http://rabitya.blogspot.com/2011/05/men ... -teks.html
2) http://shelila.wordpress.com/2008/08/08 ... mmand-sed/
3) http://www.thegeekstuff.com/2009/09/uni ... e-command/
4) http://stackoverflow.com/questions/1032 ... nd-replace
User avatar
q_p
Posts: 3109
Joined: 14 Oct 2012, 13:01
Contact:

Re: [ASK]CLI u/ cari+edit kata dalam suatu baris

Postby q_p » 23 Mar 2013, 21:11

Saya coba dulu ya mas (tp, entar malam. lagi mludag nih pengunjung)
Terimakasih atas apresiasinya.
User avatar
buzzing_bee
Posts: 1971
Joined: 29 Dec 2010, 21:53
Location: /home/buzzing_bee
Contact:

Re: [ASK]CLI u/ cari+edit kata dalam suatu baris

Postby buzzing_bee » 23 Mar 2013, 22:29

Tampilkan
Malsasa wrote:Saya telah mendapatkan jawaban SOLVED.

sed -i 's/^blogspot.com/#blogspot.com/g' coba.txt

Cukup satu baris, dengan sed. Saya tanya ke kanal #debian di server freenode, Kang. Yang memberikan jawaban SOLVED adalah rabbieth. Saya dapat banyak sekali wawasan baru yang sangat bermanfaat dan saya bahagia malam ini. Terima kasih banyak. Terima kasih banyak!

- Opsi -i membuat si sed ini menyimpan hasil perubahan.
- Karakter ^ itu membatasi HANYA tulisan blogspot.com (tidak boleh ada awalan)
- Opsi g itu untuk replacing.

Terima kasih, latihan yang sangat berguna.


Referensi:
1) http://rabitya.blogspot.com/2011/05/men ... -teks.html
2) http://shelila.wordpress.com/2008/08/08 ... mmand-sed/
3) http://www.thegeekstuff.com/2009/09/uni ... e-command/
4) http://stackoverflow.com/questions/1032 ... nd-replace


mantep kang, saya googling juga dapetnya itu:
http://stackoverflow.com/questions/6619917/how-to-use-sed-command-to-add-a-string-before-a-pattern-string

=================================

tapi pas saya coba2 di server (linux di laptop lagi masuk angin) kok gabisa ya? :grin:

Code: Select all

[root@server titipan]# cat file.txt
blah.blogspot.com
blahfoo.blogspot.com
blahfooblah.blogspot.com
blahblahblah.blogspot.com
[root@server titipan]#
[root@server titipan]# sed 's/^blogspot.com/#blogspot.com/g' file.txt
blah.blogspot.com
blahfoo.blogspot.com
blahfooblah.blogspot.com
blahblahblah.blogspot.com
[root@server titipan]#
User avatar
Malsasa
Posts: 2974
Joined: 07 Jun 2010, 22:37
Location: Mojokerto, Indonesia
Contact:

Re: [ASK]CLI u/ cari+edit kata dalam suatu baris

Postby Malsasa » 23 Mar 2013, 22:40

buzzing_bee wrote:[spoiler]

Code: Select all

[root@server titipan]# cat file.txt
blah.blogspot.com
blahfoo.blogspot.com
blahfooblah.blogspot.com
blahblahblah.blogspot.com
[root@server titipan]#
[root@server titipan]# sed 's/^blogspot.com/#blogspot.com/g' file.txt
blah.blogspot.com
blahfoo.blogspot.com
blahfooblah.blogspot.com
blahblahblah.blogspot.com
[root@server titipan]#

Ini maksud kang buzz, mengubah anu.blogspot.com menjadi #anu.blogspot.com?

sed -i 's/blogspot.com/#blogspot.com/g/' file.txt

Jangan lupakan opsi -i ini, Kang buzz. Dan jangan lupa ^ itu untuk memaksa HARUS tidak ada awalan sebelum blogspot.com. Silakan dicoba kembali.
User avatar
buzzing_bee
Posts: 1971
Joined: 29 Dec 2010, 21:53
Location: /home/buzzing_bee
Contact:

Re: [ASK]CLI u/ cari+edit kata dalam suatu baris

Postby buzzing_bee » 23 Mar 2013, 22:52

seharusnya ga pakai prameter "-i" juga ga masalah, jadi hanya sebatas nampilin aja, contoh:

tanpa parameter -i (cuma nampilkan tidak menyimpan)

Code: Select all

[root@server titipan]# cat file.txt | sed 's/blogspot/wordpress/g'
blah.wordpress.com
blahfoo.wordpress.com
blahfooblah.wordpress.com
blahblahblah.wordpress.com


Dengan Parameter -i (hasilnya file.txt ga berubah isinya)

Code: Select all

[root@server titipan]# sed -i 's/^blogspot.com/#blogspot.com/g' file.txt
[root@server titipan]#
[root@server titipan]#
[root@server titipan]# cat file.txt
blah.blogspot.com
blahfoo.blogspot.com
blahfooblah.blogspot.com
blahblahblah.blogspot.com
User avatar
Malsasa
Posts: 2974
Joined: 07 Jun 2010, 22:37
Location: Mojokerto, Indonesia
Contact:

Re: [ASK]CLI u/ cari+edit kata dalam suatu baris

Postby Malsasa » 23 Mar 2013, 22:58

Saya jadi bingung ini maksud akang apa. Kalau maksud kang pragola tadi jelas.

sed 's/^blogspot.com/#blogspot.com/g' file.txt

Kalau perintah ini, untuk isi anu.blogspot.com, jelas teks tidak akan berubah karena ada ^. Saya beri -i karena asumsi dasar pertanyaan kang pragola dan saya anggap akang juga butuh ini. Nah, bagaimana hasilnya?
User avatar
buzzing_bee
Posts: 1971
Joined: 29 Dec 2010, 21:53
Location: /home/buzzing_bee
Contact:

Re: [ASK]CLI u/ cari+edit kata dalam suatu baris

Postby buzzing_bee » 23 Mar 2013, 23:07

oops...sory sory..my bad kang :grin: :grin: :grin:
memang kesalahan saya, saya coba edit "file.txt" menjadi:

Code: Select all

[root@server titipan]# cat file.txt
blah.blogspot.com
blahfoo.blogspot.com
blahfooblah.blogspot.com
blahblahblah.blogspot.com
blogspot.com
[root@server titipan]#
[root@server titipan]#
[root@server titipan]#
[root@server titipan]# sed 's/^blogspot.com/#blogspot.com/' file.txt
blah.blogspot.com
blahfoo.blogspot.com
blahfooblah.blogspot.com
blahblahblah.blogspot.com
#blogspot.com
[root@server titipan]#


command yg kang malsasa berikan berhasil bekerja dengan baik :D :D :D

==========
nah maksud saya adalah, saya ingin mengganti string sebelum ".blogspot.com" menjadi "#"

hasil yg saya harapkan seperti ini:

Code: Select all

#.blogspot.com
#.blogspot.com
#.blogspot.com
#.blogspot.com
User avatar
buzzing_bee
Posts: 1971
Joined: 29 Dec 2010, 21:53
Location: /home/buzzing_bee
Contact:

Re: [ASK]CLI u/ cari+edit kata dalam suatu baris

Postby buzzing_bee » 23 Mar 2013, 23:24

hahaha, ketemu nih kang malsasa :D :D :D :D

Code: Select all

[root@server titipan]# cat file.txt | sed 's/\<[a-zA-Z0-9]*.blogspot.com\>/#.blogspot.com/g'
#.blogspot.com
#.blogspot.com
#.blogspot.com
#.blogspot.com
blogspot.com
User avatar
Malsasa
Posts: 2974
Joined: 07 Jun 2010, 22:37
Location: Mojokerto, Indonesia
Contact:

Re: [ASK]CLI u/ cari+edit kata dalam suatu baris

Postby Malsasa » 23 Mar 2013, 23:36

Sangat bermanfaat! Inikah regex untuk menggantikan 'kata'?

[a-zA-Z0-9]*

Saya simpan, kang! Terima kasih.
User avatar
buzzing_bee
Posts: 1971
Joined: 29 Dec 2010, 21:53
Location: /home/buzzing_bee
Contact:

Re: [ASK]CLI u/ cari+edit kata dalam suatu baris

Postby buzzing_bee » 23 Mar 2013, 23:37

dapat dari sini:
http://www.cyberciti.biz/faq/howto-delete-word-using-sed-under-unix-linux-bsd-appleosx/


Malsasa wrote:Sangat bermanfaat! Inikah regex untuk menggantikan 'kata'?

[a-zA-Z0-9]*

Saya simpan, kang! Terima kasih.


mungkin lebih tepatnya menggantikan string dan number :D
User avatar
q_p
Posts: 3109
Joined: 14 Oct 2012, 13:01
Contact:

Re: [ASK]CLI u/ cari+edit kata dalam suatu baris

Postby q_p » 24 Mar 2013, 01:27

Terimakasih Mas Malsasa & uzzing_bee
Dengan demikian, kita bisa mengeluarkan satu atau beberapa domain/url yang masuk dalam blacklist-nya shallalist, bigbalcklist, univ-tlse1.fr dan trustpositif.kominfo, dengan CLI seperti contoh di bawah ini =

Code: Select all

sed -i 's/^blogspot.com/#blogspot.com/' file.txt

Return to “Pertanyaan Umum”

Who is online

Users browsing this forum: No registered users and 3 guests