Saya perlu menulis skrip Shell untuk mengonversi karakter dalam file menjadi huruf kecil dan mengganti karakter non alfa menjadi _
.
Saya memiliki perintah terpisah untuk kedua hal di atas. Bagaimana memberikan file sebagai argumen dan melakukan hal-hal di atas yaitu output hanya akan memiliki karakter huruf kecil dan non alfa akan diganti dengan _
(garis bawah)?
Jawaban yang Diterima:
Menggunakan sed
:
sed 's/[^[:alpha:]]/_/g; s/[[:upper:]]/\L&/g' file.txt
Ini sebenarnya adalah dua sed
perintah dipisahkan oleh ;
:
-
s/[^[:alpha:]]/_/g
mengubah setiap karakter non-abjad menjadi_
-
s/[[:upper:]]/\L&/g
mengubah semua karakter huruf besar menjadi huruf kecil
Contoh:
$ cat file.txt
fooBAr132323
SpamEgg
$ sed 's/[^[:alpha:]]/_/g; s/[[:upper:]]/\L&/g' file.txt
foobar______
spamegg