Dengan menggunakan grep
, kita bisa mengambil kata yang berada diantara dua pemisah. Untuk mendapatkan hasil yang diinginkan kita akan menggunakan parameter -o --only-matching
dan -P, --perl-regexp
.
Contoh kita memiliki file server.conf
yang berisi
SERVER_MYSQL1_USERNAME SERVER_MYSQL1_PASSWORD SERVER_MYSQL2_USERNAME SERVER_MYSQL2_PASSWORD SERVER_REDIS_CACHE_USERNAME SERVER_REDIS_CACHE_PASSWORD SERVER_REDIS_SYNC_USERNAME SERVER_REDIS_SYNC_PASSWORD
Untuk mengambil kata diantara SERVER_
(prefix) dan _PASSWORD
(suffix)
for i in $(cat server.conf); do echo $i | grep -o -P '(?<=SERVER_).*(?=_PASSWORD)'; done # output MYSQL1 MYSQL2 REDIS_CACHE REDIS_SYNC