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:]]/_/gmengubah setiap karakter non-abjad menjadi_ -
s/[[:upper:]]/\L&/gmengubah 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