Использование awk
: для хранения в отдельных файлах:
gawk -v RS='some text' '{$1=$1;match($0,/user[0-9]+=([^;]+).*ip[0-9]+=([^;]+).*/,a);print a[1]>"username";print a[2] > "ipaddress"}' long_file
cat username
username1
username2
cat ipaddress
ipaddres1
ipaddress2
Это awk
предполагает, что между каждой записью присутствует some text
.
Или используя grep
с -P
:
grep -oP 'user[0-9]+=\K[^;]+' long_file > username
grep -oP 'ip[0-9]+=\K[^;]+' long_file >ip_address