50 Contoh Perintah `tetapi`

50 Sed Command Examples



`sed` adalah fitur pemrosesan teks yang berguna dari GNU/Linux. Bentuk lengkap dari `sed` adalah Stream Editor. Banyak jenis tugas pemrosesan teks sederhana dan rumit dapat dilakukan dengan sangat mudah dengan menggunakan perintah `sed`. Setiap string tertentu dalam teks atau file dapat dicari, diganti dan dihapus dengan menggunakan ekspresi reguler dengan perintah `sed. Tetapi perintah ini melakukan semua jenis modifikasi sementara dan konten file asli tidak diubah secara default. Pengguna dapat menyimpan konten yang dimodifikasi ke file lain jika perlu. Penggunaan dasar perintah `sed` dijelaskan dalam tutorial ini dengan menggunakan 50 contoh unik. Sebelum memulai tutorial ini, Anda harus memeriksa versi `sed` yang terinstal di sistem operasi Anda dengan menjalankan perintah berikut. Tutorial ini dirancang berdasarkan GNU sed. Jadi versi `sed` ini akan diperlukan untuk mempraktikkan contoh-contoh yang ditunjukkan dalam tutorial ini.

$sed --Versi: kapan

Keluaran berikut menunjukkan bahwa GNU Sed versi 4.4 telah terinstal di sistem.









Sintaksis:



sed [pilihan]...[naskah] [mengajukan]

Jika tidak ada nama file yang diberikan dengan perintah `sed`, maka skrip akan bekerja pada data input standar. Skrip `sed` dapat dijalankan tanpa opsi apa pun.





Isi :

  1. Substitusi teks dasar menggunakan 'sed'
  2. Ganti semua contoh teks di baris file tertentu dengan menggunakan opsi 'g'
  3. Ganti kemunculan kedua hanya dari kecocokan di setiap baris
  4. Ganti kemunculan terakhir hanya dari kecocokan di setiap baris
  5. Ganti kecocokan pertama dalam file dengan teks baru
  6. Ganti kecocokan terakhir dalam file dengan teks baru
  7. Melarikan diri dari garis miring terbalik dalam perintah ganti untuk mengelola pencarian dan penggantian jalur file
  8. Ganti semua file path lengkap hanya dengan nama file tanpa direktori
  9. Ganti teks tetapi hanya jika beberapa teks lain ditemukan dalam string
  10. Ganti teks tetapi hanya jika beberapa teks lain tidak ditemukan dalam string
  11. Tambahkan string sebelum setelah pola yang cocok menggunakan ' 1 '
  12. Hapus garis yang cocok
  13. Hapus baris yang cocok dan 2 baris setelah baris yang cocok
  14. Hapus semua spasi di akhir baris teks
  15. Hapus semua baris yang memiliki kecocokan dua kali di baris
  16. Hapus semua baris yang hanya memiliki spasi putih
  17. Hapus semua karakter yang tidak dapat dicetak
  18. Jika ada kecocokan dalam baris, tambahkan sesuatu ke akhir baris
  19. Jika ada kecocokan di baris sisipkan baris sebelum pertandingan
  20. Jika ada kecocokan di baris sisipkan baris setelah pertandingan
  21. Jika tidak ada yang cocok, tambahkan sesuatu di akhir baris
  22. Jika tidak ada yang cocok, hapus barisnya
  23. Gandakan teks yang cocok setelah menambahkan spasi setelah teks
  24. Ganti salah satu daftar string dengan string baru
  25. Ganti string yang cocok dengan string yang berisi baris baru
  26. Hapus baris baru dari file dan masukkan koma di akhir setiap baris
  27. Hapus koma dan tambahkan baris baru untuk membagi teks menjadi beberapa baris
  28. Temukan kecocokan yang tidak peka huruf besar-kecil dan hapus baris
  29. Temukan kecocokan yang tidak peka huruf besar-kecil dan ganti dengan teks baru
  30. Temukan kecocokan yang tidak peka huruf besar-kecil dan ganti dengan semua huruf besar dari teks yang sama
  31. Temukan kecocokan yang tidak peka huruf besar-kecil dan ganti dengan semua huruf kecil dari teks yang sama
  32. Ganti semua karakter huruf besar dalam teks dengan karakter huruf kecil
  33. Cari nomor dalam barisan dan tambahkan simbol mata uang setelah nomor
  34. Tambahkan koma ke angka yang memiliki lebih dari 3 digit
  35. Ganti karakter tab dengan 4 karakter spasi
  36. Ganti 4 karakter spasi berurutan dengan karakter tab
  37. Potong semua baris menjadi 80 karakter pertama
  38. Cari string regex dan tambahkan beberapa teks standar setelahnya
  39. Cari string regex dan salinan kedua dari string yang ditemukan setelahnya
  40. Menjalankan skrip `sed` multi-baris dari file
  41. Cocokkan pola multi-baris dan ganti dengan teks multi-baris baru
  42. Ganti urutan dua kata yang cocok dengan pola
  43. Gunakan beberapa perintah sed dari baris perintah
  44. Gabungkan sed dengan perintah lain
  45. Sisipkan baris kosong dalam file
  46. Hapus semua karakter alfanumerik dari setiap baris file.
  47. Gunakan '&' untuk mencocokkan string
  48. Ganti pasangan kata
  49. Kapitalisasi karakter pertama dari setiap kata
  50. Cetak nomor baris file

1. Substitusi teks dasar menggunakan 'sed'

Setiap bagian tertentu dari teks dapat dicari dan diganti dengan menggunakan pencarian dan penggantian pola dengan menggunakan perintah `sed`. Dalam contoh berikut, 's' menunjukkan tugas pencarian dan penggantian. Kata 'Bash' akan dicari dalam teks, Bash Scripting Language dan jika kata tersebut ada dalam teks maka akan diganti dengan kata 'Perl'.



$dibuang 'Bahasa Skrip Bash' | sed 's/Bash/Perl/'

Keluaran:

Kata, 'Bash' ada dalam teks. Jadi outputnya adalah 'Perl Scripting Language'.

Perintah `sed` juga dapat digunakan untuk mengganti bagian mana pun dari konten file. Buat file teks bernama hari kerja.txt dengan konten berikut.

hari kerja.txt

Senin
Selasa
Rabu
Kamis
Jumat
Sabtu
Minggu

Perintah berikut akan mencari dan mengganti teks 'Sunday', dengan teks 'Sunday is holiday'.

$kucinghari kerja.txt
$sed 's/Minggu/Minggu libur/'hari kerja.txt

Keluaran:

'Minggu' ada di file hari kerja.txt dan kata ini diganti dengan teks, 'Minggu adalah hari libur' setelah menjalankan perintah `sed` di atas.

Pergi ke atas

2. Ganti semua contoh teks di baris tertentu dari file menggunakan opsi 'g'

Opsi 'g' digunakan dalam perintah `sed` untuk mengganti semua kemunculan pola yang cocok. Buat file teks bernama python.txt dengan konten berikut untuk mengetahui penggunaan opsi 'g'. File ini berisi kata. 'Python' beberapa kali.

python.txt

Python adalah bahasa yang sangat populer.
Python mudah digunakan. Python mudah dipelajari.
Python adalah bahasa lintas platform

Perintah berikut akan menggantikan semua kemunculan ' Python ' di baris kedua file, python.txt . Di Sini, 'Python' terjadi dua kali pada baris kedua.

$ ular piton.txt
$ sed'2 s / Python / perl / g'ular piton.txt

Keluaran:

Output berikut akan muncul setelah menjalankan skrip. Di sini, Semua kemunculan 'Python' di baris kedua diganti dengan 'Perl'.

Pergi ke atas

3. Ganti kemunculan kedua hanya dari kecocokan di setiap baris

Jika ada kata yang muncul beberapa kali dalam sebuah file maka kemunculan kata tertentu di setiap baris dapat diganti dengan menggunakan perintah `sed` dengan nomor kemunculannya. Perintah `sed` berikut akan menggantikan kemunculan kedua dari pola pencarian di setiap baris file, python.txt .

$ sed's/Python/Perl/g2'ular piton.txt

Keluaran:

Output berikut akan muncul setelah menjalankan perintah di atas. Di sini, teks pencarian, ' Python' muncul dua kali di baris kedua saja dan digantikan oleh teks, ' Perl '.

Pergi ke atas

4. Ganti kemunculan terakhir hanya dari kecocokan di setiap baris

Buat file teks bernama lang.txt dengan konten berikut.

lang.txt

Bahasa Pemrograman Bash. Bahasa Pemrograman Python. Bahasa Pemrograman Perl.
Hyper Text Markup Language.
Bahasa Markup yang Dapat Diperluas.

$sed 's/(.*)Pemrograman/1Scripting/'lang.txt

Pergi ke atas

5. Ganti kecocokan pertama dalam file dengan teks baru

Perintah berikut hanya akan menggantikan kecocokan pertama dari pola pencarian, ' Python ' dengan teks, 'perl '. Di Sini, '1' digunakan untuk mencocokkan kemunculan pertama dari pola.

$ ular piton.txt
$ sed'1 s / Python / perl /'ular piton.txt

Keluaran:

Output berikut akan muncul setelah menjalankan perintah di atas. Di Sini. kemunculan pertama 'Python' di baris pertama diganti dengan 'perl'.

Pergi ke atas

6. Ganti kecocokan terakhir dalam file dengan teks baru

Perintah berikut akan menggantikan kemunculan terakhir dari pola pencarian, 'Python ' dengan teks, 'Pesta'. Di Sini, '$' simbol digunakan untuk mencocokkan kemunculan terakhir dari pola.

$ ular piton.txt
$ tapi -e'$ s / Python / Bash /'ular piton.txt

Keluaran:

Output berikut akan muncul setelah menjalankan perintah di atas.

Pergi ke atas

7. Melarikan diri dari garis miring terbalik dalam perintah ganti untuk mengelola pencarian dan penggantian jalur file

Penting untuk menghindari garis miring terbalik di jalur file untuk mencari dan mengganti. Perintah `sed` berikut akan menambahkan garis miring terbalik () di jalur file.

$dibuang /rumah/ubuntu/kode/perl/tambahkan.pl| sed 's; /; \ /; g'

Keluaran:

jalur berkas, ‘/home/ubuntu/code/perl/add.pl’ disediakan sebagai input dalam perintah `sed` dan output berikut akan muncul setelah menjalankan perintah di atas.

Pergi ke atas

8. Ganti semua file path lengkap hanya dengan nama file tanpa direktori

Nama file dapat diambil dari jalur file dengan sangat mudah dengan menggunakan ` nama dasar` memerintah. Perintah `sed` juga dapat digunakan untuk mengambil nama file dari jalur file. Perintah berikut akan mengambil nama file hanya dari jalur file yang disediakan oleh perintah `echo`.

$dibuang '/home/ubuntu/temp/myfile.txt' | sed 'S/.*///'

Keluaran:

Output berikut akan muncul setelah menjalankan perintah di atas. Di sini, nama file, ' file saya.txt' dicetak sebagai keluaran.

Pergi ke atas

9. Ganti teks tetapi hanya jika beberapa teks lain ditemukan dalam string

Buat file bernama ' dept.txt' dengan konten berikut untuk mengganti teks apa pun berdasarkan teks lain.

dept.txt

Daftar Jumlah Siswa:

CSE - Hitung
EEE - Hitung
Sipil - Hitung

Dua perintah ganti digunakan dalam perintah `sed` berikut. Di sini, teks, ' Menghitung 'akan digantikan oleh 100 di baris yang berisi teks, ‘CSE 'dan teks,' Menghitung' akan digantikan oleh 70 di baris yang berisi pola pencarian, ‘ EEE' .

$kucingdept.txt
$sed -Dan '/CSE/s/Hitung/100/; /EEE/s/Hitung/70/;'dept.txt

Keluaran:

Output berikut akan muncul setelah menjalankan perintah di atas.

Pergi ke atas

10. Ganti teks tetapi hanya jika beberapa teks lain tidak ditemukan dalam string

Perintah `sed` berikut akan menggantikan nilai 'Hitung' di baris yang tidak berisi teks, 'CSE'. dept.txt file berisi dua baris yang tidak berisi teks, 'CSE'. Sehingga ' Menghitung ' teks akan diganti dengan 80 dalam dua baris.

$kucingdept.txt
$sed -Saya -Dan '/CSE/! s/Hitung/80/;'dept.txt

Keluaran:

Output berikut akan muncul setelah menjalankan perintah di atas.

Pergi ke atas

11. Tambahkan string sebelum dan sesudah pola yang cocok menggunakan '1'

Urutan pola pencocokan perintah `sed` dilambangkan dengan '1', '2' dan seterusnya. Perintah `sed` berikut akan mencari pola, 'Bash' dan jika pola cocok maka akan diakses oleh '1′ di bagian penggantian teks. Di sini, teks, 'Bash' dicari di teks input dan, satu teks ditambahkan sebelum dan teks lain ditambahkan setelah '1'.

$dibuang 'Bahasa Bas' | sed 's/(Bash)/Pelajari 1 pemrograman/'

Keluaran:

Output berikut akan muncul setelah menjalankan perintah di atas. Di Sini, ' Mempelajari' teks ditambahkan sebelumnya 'Pesta' dan ' pemrograman ' teks ditambahkan setelah ' Pesta'.

Pergi ke atas

12. Hapus garis yang cocok

'D' option digunakan dalam perintah `sed` untuk menghapus baris apa pun dari file. Buat file bernama os.txt dan tambahkan konten berikut untuk menguji fungsi dari 'D' pilihan.

cat os.txt

jendela
Linux
Android
ANDA

Perintah `sed` berikut akan menghapus baris-baris tersebut dari os.txt file yang berisi teks, 'OS'.

$kucingos.txt
$sed '/D'os.txt

Keluaran:

Output berikut akan muncul setelah menjalankan perintah di atas.

Pergi ke atas

13. Hapus garis yang cocok dan 2 garis setelah garis yang cocok

Perintah berikut akan menghapus tiga baris dari file os.txt jika pola, ' Linux' ditemukan. os.txt berisi teks, 'Linux ' di baris kedua. Jadi, baris ini dan dua baris berikutnya akan dihapus.

$sed '/ Linux /, + 2d'os.txt

Keluaran:

Output berikut akan muncul setelah menjalankan perintah di atas.

Pergi ke atas

14. Hapus semua spasi di akhir baris teks

Menggunakan [:kosong:] class dapat digunakan untuk menghapus spasi dan tab dari teks atau konten file apa pun. Perintah berikut akan menghapus spasi di akhir setiap baris file, os.txt.

$kucingos.txt
$sed 's/[[:kosong:]]*$//'os.txt

Keluaran:

os.txt berisi baris kosong setelah setiap baris yang dihapus oleh perintah `sed` di atas.

Pergi ke atas

15. Hapus semua baris yang memiliki kecocokan dua kali pada baris

Buat file teks bernama, masukan.txt dengan konten berikut dan hapus baris file yang berisi pola pencarian dua kali.

masukan.txt

PHP adalah bahasa skrip sisi server.
PHP adalah bahasa sumber terbuka dan PHP peka huruf besar-kecil.
PHP adalah platform-independen.

Teks 'PHP' berisi dua kali di baris kedua file, masukan.txt . Dua perintah `sed` digunakan dalam contoh ini untuk menghapus baris yang berisi pola ' php ' dua kali. Perintah `sed` pertama akan menggantikan kemunculan kedua 'php' di setiap baris dengan ' dl ' dan kirim output ke perintah `sed` kedua sebagai input. Perintah `sed` kedua akan menghapus baris-baris yang berisi teks, ' dl '.

$kucingmasukan.txt
$sed 's/php/dl/i2;t'masukan.txt| sed '/dl/d'

Keluaran:

masukan.txt file memiliki dua baris yang berisi pola, 'php' dua kali. Jadi, output berikut akan muncul setelah menjalankan perintah di atas.

Pergi ke atas

16. Hapus semua baris yang hanya memiliki spasi putih

Pilih file apa pun yang berisi baris kosong dalam konten untuk menguji contoh ini. masukan.txt file yang dibuat pada contoh sebelumnya, berisi dua baris kosong yang dapat dihapus dengan menggunakan perintah `sed` berikut. Di sini, '^$' digunakan untuk mengetahui baris kosong dalam file, masukan.txt.

$kucingmasukan.txt
$sed '/^$/d'masukan.txt

Keluaran:

Output berikut akan muncul setelah menjalankan perintah di atas.

Pergi ke atas

17. Hapus semua karakter yang tidak dapat dicetak

Karakter yang tidak dapat dicetak dapat dihapus dari teks apa pun dengan mengganti karakter yang tidak dapat dicetak dengan tidak ada. Kelas [:print:] digunakan dalam contoh ini untuk mengetahui karakter yang tidak dapat dicetak. ' ' adalah karakter yang tidak dapat dicetak dan tidak dapat diuraikan secara langsung oleh perintah `echo`. Untuk ini, karakter ' ' ditetapkan dalam variabel, $tab yang digunakan dalam perintah `echo`. Output dari perintah `echo` dikirim dalam perintah `sed` yang akan menghapus karakter, ' ' dari output.

$tab= $'T'
$dibuang 'Halo$tabDunia'
$dibuang 'Halo$tabDunia' | sed 's/[^[:print:]]//g'

Keluaran:

Output berikut akan muncul setelah menjalankan perintah di atas. Perintah `echo pertama akan mencetak output dengan spasi tab dan perintah `sed` akan mencetak output setelah menghapus spasi tab.

Pergi ke atas

18. Jika ada kecocokan di baris, tambahkan sesuatu di akhir baris

Perintah berikut akan menambahkan '10' di akhir baris yang berisi teks, 'Windows' di os.txt mengajukan.

$kucingos.txt
$sed '/ Windows / s / $ / 10 /'os.txt

Keluaran:

Output berikut akan muncul setelah menjalankan perintah.

Pergi ke atas

19. Jika ada kecocokan di baris, sisipkan satu baris sebelum teks

Perintah `sed` berikut akan mencari teks, ' PHP adalah platform-independen' dalam masukan.txt file yang telah dibuat sebelumnya. Jika file berisi teks ini di baris mana pun, ' PHP adalah bahasa yang ditafsirkan ' akan dimasukkan sebelum baris itu.

$kucingmasukan.txt
$sed '/PHP adalah platform-independen/ s/^/PHP adalah bahasa yang ditafsirkan. /'masukan.txt

Keluaran:

Output berikut akan muncul setelah menjalankan perintah di atas.

Pergi ke atas

20. Jika ada kecocokan di baris, masukkan baris setelah baris itu

Perintah `sed` berikut akan mencari teks, ' Linux' dalam file os.txt dan jika teks ada di baris mana pun maka teks baru, ' Ubuntu ' akan dimasukkan setelah baris itu.

$kucingos.txt
$sed 's/Linux/& Ubuntu/'os.txt

Keluaran:

Output berikut akan muncul setelah menjalankan perintah di atas.

Pergi ke atas

21. Jika tidak ada yang cocok, tambahkan sesuatu di akhir baris

Perintah `sed` berikut akan mencari baris-baris tersebut di os.txt yang tidak mengandung teks, 'Linux' dan tambahkan teks, ' Sistem operasi ' di akhir setiap baris. Di Sini, ' $ ' digunakan untuk mengidentifikasi baris di mana teks baru akan ditambahkan.

$kucingos.txt
$sed '/Linux/! S/$/ Sistem Operasi/'os.txt

Keluaran:

Output berikut akan muncul setelah menjalankan perintah di atas. Ada tiga baris dalam file os.txt yang tidak berisi teks, 'Linux' dan teks baru yang ditambahkan di akhir baris ini.

Pergi ke atas

22. Jika tidak ada yang cocok, hapus barisnya

Buat file bernama web.txt dan tambahkan konten berikut dan hapus baris yang tidak berisi pola yang cocok. web.txt HTML 5JavaScriptCSSPHPMySQLJQuery Perintah `sed` berikut akan mencari dan menghapus baris yang tidak berisi teks, 'CSS'. $ cat web.txt$ sed ‘/CSS/!d’ web.txt Keluaran: Output berikut akan muncul setelah menjalankan perintah di atas. Ada satu baris dalam file yang berisi teks, 'CSE'. Jadi, output hanya berisi satu baris.

Pergi ke atas

23. Gandakan teks yang cocok setelah menambahkan spasi setelah teks

Perintah `sed` berikut akan mencari kata, 'ke' dalam file, python.txt dan jika kata tersebut ada maka kata yang sama akan disisipkan setelah kata pencarian dengan menambahkan spasi. Di Sini, '&' simbol digunakan untuk menambahkan teks duplikat.

$kucingpython.txt
$sed -Dan 's / ke / & ke / g'python.txt

Keluaran:

Output berikut akan muncul setelah menjalankan perintah. Di sini, kata, 'ke' dicari di file, python.txt dan kata ini ada di baris kedua file ini. Jadi, 'ke ' dengan spasi ditambahkan setelah teks yang cocok.

Pergi ke atas

24. Ganti satu daftar string dengan string baru

Anda harus membuat dua file daftar untuk menguji contoh ini. Buat file teks bernama list1.txt dan tambahkan konten berikut.

daftar kucing1.txt

1001=>Jafar Ali
1023=>Nir Hossain
1067=>John michel

Buat file teks bernama list2.txt dan tambahkan konten berikut.

$ daftar kucing2.txt

1001IPK CSE3.63
1002IPK CSE3.24
1023IPK CSE3.11
1067IPK CSE3.84

Perintah `sed` berikut akan mencocokkan kolom pertama dari dua file teks yang ditampilkan di atas dan mengganti teks yang cocok dengan nilai kolom ketiga file daftar1.txt.

$kucinglist1.txt
$kucinglist2.txt
$sed ``kucinglist1.txt| awk '{print' -e dengan / '$ 1' / '$ 3' / '}'``<<<'`cat list2.txt`'

Keluaran:

1001, 1023 dan 1067 dari list1.txt file cocok dengan tiga data dari list2.txt file dan nilai-nilai ini diganti dengan nama yang sesuai dari kolom ketiga list1.txt .

Pergi ke atas

25. Ganti string yang cocok dengan string yang berisi baris baru

Perintah berikut akan mengambil input dari perintah `echo` dan mencari kata, 'Python' dalam teks. Jika kata itu ada dalam teks maka teks baru, 'Teks Ditambahkan' akan disisipkan dengan baris baru. $ echo Bash Perl Python Java PHP ASP | sed ‘s/Python/Ditambahkan Teks /’ Keluaran: Output berikut akan muncul setelah menjalankan perintah di atas.

Pergi ke atas

26. Hapus baris baru dari file dan sisipkan koma di akhir setiap baris

Perintah `sed` berikut akan menggantikan setiap baris baru dengan koma dalam file os.txt . Di Sini, -Dengan option digunakan untuk memisahkan baris dengan karakter NULL.

$sed -Dengan 's/ /,/g'os.txt

Keluaran:

Output berikut akan muncul setelah menjalankan perintah di atas.

Pergi ke atas

27. Hapus koma dan tambahkan baris baru untuk membagi teks menjadi beberapa baris

Perintah `sed` berikut akan mengambil baris yang dipisahkan koma dari perintah `echo` sebagai input dan mengganti koma dengan baris baru.

$dibuang 'Kaniz Fatema, 30, angkatan' | sed 'S/,/ /G'

Keluaran:

Output berikut akan muncul setelah menjalankan perintah di atas. Teks input berisi tiga data yang dipisahkan koma yang diganti dengan baris baru dan dicetak dalam tiga baris.

Pergi ke atas

28. Temukan kecocokan case-sensitive dan hapus baris

'I' digunakan dalam perintah `sed` untuk kecocokan case-insensitive yang menunjukkan abaikan huruf besar-kecil. Perintah `sed` berikut akan mencari baris yang berisi kata, 'linux ' dan hapus baris dari os.txt mengajukan.

$kucingos.txt
$sed '/linux/ID'os.txt

Keluaran:

Output berikut akan muncul setelah menjalankan perintah di atas. os.txt berisi kata, 'Linux' yang cocok dengan polanya, 'linux' untuk pencarian case-insensitive dan dihapus.

Pergi ke atas

29. Temukan kecocokan case-sensitive dan ganti dengan teks baru

Perintah `sed` berikut akan mengambil input dari perintah `echo` dan mengganti kata, 'bash' dengan kata, 'PHP'.

$dibuang 'Saya suka pemrograman bash' | sed 's/Bash/PHP/i'

Keluaran:

Output berikut akan muncul setelah menjalankan perintah di atas. Di sini, kata, 'Bash' dicocokkan dengan kata, 'bash' untuk pencarian case-insensitive dan diganti dengan kata, 'PHP'.

Pergi ke atas

30. Temukan kecocokan case-insensitive dan ganti dengan semua huruf besar dari teks yang sama

' U' digunakan dalam `sed` untuk mengonversi teks apa pun ke semua huruf besar. Perintah `sed` berikut akan mencari kata, 'linux ' dalam os.txt file dan jika kata itu ada maka kata itu akan diganti dengan semua huruf besar.

$kucingos.txt
$sed 's / (linux ) / U 1 / Ig'os.txt

Keluaran:

Output berikut akan muncul setelah menjalankan perintah di atas. Kata, 'Linux' dari file os.txt diganti dengan kata, 'LINUX'.

Pergi ke atas

31. Temukan kecocokan case-insensitive dan ganti dengan semua huruf kecil dari teks yang sama

'NS' digunakan dalam `sed` untuk mengonversi teks apa pun ke semua huruf kecil. Perintah `sed` berikut akan mencari kata, 'Linux' dalam os.txt file dan ganti kata dengan semua huruf kecil.

$kucingos.txt
$sed 's / (linux ) / L 1 / Ig'os.txt

Keluaran:

Output berikut akan muncul setelah menjalankan perintah di atas. Kata, 'Linux' diganti dengan kata, 'linux' di sini.

Pergi ke atas

32. Ganti semua karakter huruf besar dari teks dengan karakter huruf kecil

Perintah `sed` berikut akan mencari semua karakter huruf besar di os.txt file dan ganti karakter dengan huruf kecil dengan menggunakan ' L'.

$kucingos.txt
$sed 's/(.*)/L1/'os.txt

Keluaran:

Output berikut akan muncul setelah menjalankan perintah di atas.

Pergi ke atas

33. Cari nomor dalam antrean dan tambahkan simbol mata uang apa pun sebelum nomor

Buat file bernama item.txt dengan konten berikut.

item.txt

HDD 100
Pantau 80
Tikus 10

Perintah `sed` berikut akan mencari nomor di setiap baris item.txt file dan tambahkan simbol mata uang, '$' sebelum setiap nomor.

$kucingitem.txt
$sed 's / ([0-9] ) / $ 1 / g'item.txt

Keluaran:

Output berikut akan muncul setelah menjalankan perintah di atas. Di sini, simbol '$' ditambahkan sebelum nomor setiap baris.

Pergi ke atas

34. Tambahkan koma ke angka yang memiliki lebih dari 3 digit

Perintah `sed` berikut akan mengambil angka sebagai input dari perintah `echo` dan menambahkan koma setelah setiap grup yang terdiri dari tiga digit dihitung dari kanan. Di sini, ':a' menunjukkan label dan 'ta' digunakan untuk mengulangi proses pengelompokan.

$dibuang '5098673' | sed -Dan:ke-Dan 's / (. * [0-9] ) ([0-9] {3 } ) / 1, 2 /; ta'

Keluaran:

Angka 5098673 diberikan dalam perintah `echo` dan perintah `sed` menghasilkan angka 5.098.673 dengan menambahkan koma setelah setiap kelompok tiga digit.

Pergi ke atas

35. Mengganti karakter tab dengan 4 karakter spasi

Perintah `sed` berikut akan mengganti setiap karakter tab ( ) dengan empat karakter spasi. Simbol '$' digunakan dalam perintah `sed` untuk mencocokkan karakter tab dan 'g' digunakan untuk mengganti semua karakter tab.

$dibuang -Dan '1T2T3' | sed$'s/ / /g'

Keluaran:

Output berikut akan muncul setelah menjalankan perintah di atas.

Pergi ke atas

36. Mengganti 4 karakter spasi berurutan dengan karakter tab

Perintah berikut akan menggantikan 4 karakter berurutan dengan karakter tab ( ).

$dibuang -Dan '1 2' | sed$'s/ / /g'

Keluaran:

Output berikut akan muncul setelah menjalankan perintah di atas.

Pergi ke atas

37. Potong semua baris menjadi 80 karakter pertama

Buat file teks bernama in.txt yang berisi baris lebih dari 80 karakter untuk menguji contoh ini.

in.txt

PHP adalah bahasa skrip sisi server.
PHP adalah bahasa sumber terbuka dan PHP peka huruf besar-kecil. PHP adalah platform-independen.
Perintah `sed` berikut akan memotong setiap baris dari in.txt file menjadi 80 karakter.

$kucingin.txt
$sed 's/(^.{1,80}).*/1/'in.txt

Keluaran:

Output berikut akan muncul setelah menjalankan perintah di atas. Baris kedua file in.txt berisi lebih dari 80 karakter dan baris ini terpotong di output.

Pergi ke atas

38. Cari string regex dan tambahkan beberapa teks standar setelahnya

Perintah `sed` berikut akan mencari teks, ' Halo ' dalam teks input dan tambahkan teks, ' John ' setelah teks itu.

$dibuang 'Halo apa kabarmu?' | sed 's/(halo)/1 John/'

Keluaran:

Output berikut akan muncul setelah menjalankan perintah di atas.

Pergi ke atas

39. Cari string regex dan tambahkan beberapa teks setelah kecocokan kedua di setiap baris

Perintah `sed` berikut akan mencari teks, ' PHP ' di setiap baris masukan.txt dan ganti kecocokan kedua di setiap baris dengan teks, 'Teks Baru Ditambahkan' .

$kucingmasukan.txt
$sed 's/(PHP)/1 (Teks Baru ditambahkan)/2'masukan.txt

Keluaran:

Output berikut akan muncul setelah menjalankan perintah di atas. Teks pencarian, ‘ PHP ' muncul dua kali di baris kedua dan ketiga dari masukan.txt mengajukan. Jadi, teks, ' Teks Baru ditambahkan ' disisipkan di baris kedua dan ketiga.

Pergi ke atas

40. Menjalankan skrip `sed` multi-baris dari sebuah file

Beberapa skrip `sed` dapat disimpan dalam sebuah file dan semua skrip dapat dieksekusi bersama-sama dengan menjalankan perintah `sed`. Buat file bernama 'sedcmd ' dan tambahkan konten berikut. Di sini, dua skrip `sed` ditambahkan ke dalam file. Satu skrip akan menggantikan teks, ‘ PHP ' oleh 'ASP 'skrip lain akan menggantikan teks,' Mandiri 'dengan teks,' bergantung '.

sedcmd

S/PHP/ASP/
S/Mandiri/bergantung/

Perintah `sed` berikut akan menggantikan semua teks 'PHP' dan 'independen' dengan 'ASP' dan 'dependen'. Di sini, opsi '-f' digunakan dalam perintah `sed` untuk mengeksekusi skrip `sed` dari file.

$kucingsedcmd
$sed -Fsedcmd input.txt

Keluaran:

Output berikut akan muncul setelah menjalankan perintah di atas.

Pergi ke atas

41. Cocokkan pola multi-baris dan ganti dengan teks multi-baris baru

Perintah `sed` berikut akan mencari teks multi-baris, 'Linux Android' dan jika polanya cocok maka garis yang cocok akan diganti dengan teks multi-baris, ‘Ubuntu Android Lollipop '. Di sini, P dan D digunakan untuk pemrosesan multiline.

$kucingos.txt
$sed '$!N;s/Linux Andoid/Ubuntu Android Lollipop/;P;D'os.txt

Keluaran:

Output berikut akan muncul setelah menjalankan perintah di atas.

Pergi ke atas

42. Mengganti urutan dua kata dalam teks yang cocok dengan pola

Perintah `sed` berikut akan mengambil input dua kata dari perintah `echo` dan menggantikan urutan kata-kata tersebut.

$dibuang 'piton perl' | sed -Dan 's/([^ ]*) *([^ ]*)/2 1/'

Keluaran:

Output berikut akan muncul setelah menjalankan perintah di atas.

Pergi ke atas

43. Jalankan beberapa perintah `sed` dari baris perintah

Opsi '-e' digunakan dalam perintah `sed` untuk menjalankan beberapa skrip `sed` dari baris perintah. Perintah `sed` berikut akan mengambil teks sebagai input dari perintah `echo` dan menggantikan ' Ubuntu ' oleh ' Kubuntu ' dan ' ratusan ' oleh ' Fedora '.

$dibuang 'Ubuntu Centos Debian' | sed -Dan 's/Ubuntu/Kubuntu/; s/Centos/Fedora/'

Keluaran:

Output berikut akan muncul setelah menjalankan perintah di atas. Di sini, 'Ubuntu' dan 'Centos' digantikan oleh 'Kubuntu' dan 'Fedora'.

Pergi ke atas

44. Gabungkan `sed` dengan perintah lain

Perintah berikut akan menggabungkan perintah `sed` dengan perintah `cat`. Perintah `sed` pertama akan mengambil input dari os.txt file dan kirim output dari perintah ke perintah `sed` kedua setelah mengganti teks ''Linux' dengan 'Fedora'. Perintah `sed` kedua akan menggantikan teks, 'Windows' dengan 'Windows 10'.

$kucingos.txt| sed 's/Linux/Fedora/'| sed 's / windows / Windows 10 / i'

Keluaran:

Output berikut akan muncul setelah menjalankan perintah di atas.

Pergi ke atas

45. Sisipkan baris kosong dalam file

Buat file bernama daftar std dengan konten berikut.

daftar std

#ID #Nama
[101] -Tetapi
[102] -Neha

Opsi 'G' digunakan untuk menyisipkan baris kosong dalam file. Perintah `sed` berikut akan menyisipkan baris kosong setelah setiap baris daftar std mengajukan.

$kucingdaftar std
$sedG stdlist

Keluaran:

Output berikut akan muncul setelah menjalankan perintah di atas. Baris kosong disisipkan setelah setiap baris file.

Pergi ke atas

46. ​​Ganti semua karakter alfanumerik dengan spasi di setiap baris file.

Perintah berikut akan mengganti semua karakter alfanumerik dengan spasi di daftar std mengajukan.

$kucingdaftar std
$tapi 's / [A-Za-z0-9] // g'daftar std

Keluaran:

Output berikut akan muncul setelah menjalankan perintah di atas.

Pergi ke atas

47. Gunakan '&' untuk mencetak string yang cocok

Perintah berikut akan mencari kata yang dimulai dengan 'L' dan mengganti teks dengan menambahkan ‘String yang cocok adalah – ' dengan kata yang cocok dengan menggunakan simbol '&'. Di sini, 'p' digunakan untuk mencetak teks yang dimodifikasi.

$sed -n 's/^L/String yang Cocok adalah - &/p'os.txt

Keluaran:

Output berikut akan muncul setelah menjalankan perintah di atas.

Pergi ke atas

48. Ganti pasangan kata dalam file

Buat file teks bernama kursus.txt dengan konten berikut yang berisi pasangan kata di setiap barisnya.

kursus.txt

PHP ASP
Oracle MySQL
CodeIgniter Laravel

Perintah berikut akan mengganti pasangan kata di setiap baris file, kursus.txt .

$sed 's/([^ ]*) *([^ ]*)/2 1/'kursus.txt

Keluaran:

Output berikut akan muncul setelah mengganti pasangan kata di setiap baris.

Pergi ke atas

49. Kapitalisasi karakter pertama setiap kata

Perintah `sed` berikut akan mengambil teks input dari perintah `echo` dan mengubah karakter pertama setiap kata menjadi huruf kapital.

$dibuang 'Saya suka pemrograman bash' | sed 's / ([a-z] ) [[a-zA-Z0-9] * ) / u 1 2 / g'

Keluaran:

Output berikut akan muncul setelah menjalankan perintah di atas. Teks input, I like bash programming dicetak sebagai I Like Bash Programming setelah huruf kapital pada kata pertama.

Pergi ke atas

50. Cetak nomor baris file

Simbol '=' digunakan perintah `sed` untuk mencetak nomor baris sebelum setiap baris file. Perintah berikut akan mencetak konten dari os.txt file dengan nomor baris.

$sed '='os.txt

Keluaran:

Output berikut akan muncul setelah menjalankan perintah di atas. Ada empat baris di os.txt mengajukan. Jadi, nomor baris dicetak sebelum setiap baris file.

Pergi ke atas

Kesimpulan:

Penggunaan yang berbeda dari perintah `sed` dijelaskan dalam tutorial ini dengan menggunakan contoh yang sangat sederhana. Output dari semua skrip `sed` yang disebutkan di sini dibuat sementara dan konten file asli tetap tidak berubah. Tetapi jika mau, Anda dapat memodifikasi file asli dengan menggunakan opsi –i atau –in-place dari perintah `sed. Jika Anda adalah pengguna Linux baru dan ingin mempelajari penggunaan dasar perintah `sed` untuk melakukan berbagai jenis tugas manipulasi string, maka tutorial ini akan membantu Anda. Setelah membaca tutorial ini, diharapkan setiap pengguna akan mendapatkan konsep yang jelas tentang fungsi dari perintah `sed`.

Pertanyaan yang Sering Diajukan

Untuk apa perintah sed digunakan?

Perintah sed memiliki sejumlah kegunaan yang berbeda. Karena itu, penggunaan utamanya adalah untuk mengganti kata-kata dalam file, atau menemukan dan mengganti.

Hal hebat tentang sed adalah Anda dapat mencari kata dalam file dan menggantinya, tetapi Anda bahkan tidak perlu membuka file – sed hanya melakukan semuanya untuk Anda!

Selain itu, dapat digunakan untuk menghapus. Yang perlu Anda lakukan adalah mengetikkan kata yang ingin Anda temukan, ganti atau hapus ke dalam sed, dan itu akan muncul untuk Anda – Anda kemudian dapat memilih untuk mengganti kata itu atau menghapus semua jejak kata dari file Anda.

sed adalah alat yang fantastis untuk dapat mengganti hal-hal seperti alamat IP dan apa pun yang sangat sensitif yang tidak ingin Anda masukkan ke dalam file. sed harus diketahui oleh semua insinyur perangkat lunak!

Apa itu S dan G dalam perintah sed?

Dalam istilah yang paling sederhana, fungsi S yang dapat digunakan dalam sed berarti 'pengganti'. Setelah mengetik S, Anda dapat mengganti atau mengganti apa pun yang Anda inginkan – mengetik S hanya akan menggantikan kemunculan kata pertama pada sebuah baris.

Oleh karena itu, jika Anda memiliki kalimat atau baris yang menyebutkannya lebih dari satu kali, fungsi S tidak ideal karena hanya akan menggantikan kemunculan pertama. Anda dapat menentukan pola untuk membuat S mengganti kata setiap dua kemunculan juga.

Menentukan G di akhir perintah sed akan melakukan penggantian global (itulah singkatan dari G). Dengan mengingat hal ini, jika Anda menentukan G, itu akan menggantikan setiap kemunculan kata yang telah Anda pilih, bukan hanya kemunculan pertama yang dilakukan S.

Bagaimana cara menjalankan skrip sed?

Anda dapat menjalankan skrip sed dalam beberapa cara tetapi yang paling umum adalah pada baris perintah. Di sini Anda bisa menentukan sed dan file yang ingin Anda gunakan perintahnya.

Ini memungkinkan Anda untuk menggunakan sed pada file itu, memungkinkan Anda menemukan, menghapus, dan mengganti sesuai kebutuhan.

Anda juga dapat menggunakannya dalam skrip shell, dan dengan cara ini Anda dapat meneruskan apa pun yang Anda inginkan ke skrip, dan itu akan menjalankan perintah find and replace untuk Anda. Ini berguna untuk tidak ingin menentukan data yang sangat sensitif di dalam skrip, jadi sebagai gantinya, Anda dapat meneruskannya sebagai variabel

Ingatlah bahwa ini tentu saja hanya tersedia di Linux, jadi Anda harus memastikan bahwa Anda memiliki baris perintah Linux untuk menjalankan skrip sed Anda.