Re: ]OT] Parsing postgresql.conf archive_command
От | Erik Jones |
---|---|
Тема | Re: ]OT] Parsing postgresql.conf archive_command |
Дата | |
Msg-id | 245F3D38-9616-438A-8FDA-4960AC37A34A@engineyard.com обсуждение исходный текст |
Ответ на | ]OT] Parsing postgresql.conf archive_command ("Joey K." <pguser@gmail.com>) |
Список | pgsql-general |
On Oct 3, 2008, at 6:05 AM, Joey K. wrote: > Hello, > > > I'd like to get the path configured for archive_command in a shell > script > > I've used a file with following content as an example > (postgresql.conf), > > # archive_command = cp %p /backup/%r > # archive_command = cp %p /backup/%r > # archive_command = cp %p /backup/%r > #archive_command = cp %p /backup/%r > archive_command = 'cp %p /backup/wal/%f' > > This is what I been trying. > $ awk '!/[ \t]*#/ { sub(/%f$/, "", $NF); print $NF }' postgresql.conf > > and I get > /backup/wal/%f' > > Any idea how to get rid of "%f'" so that I get only? > /backup/wal/ > > My regexp skills are sad :-) I usually prefer to string together more simple command than to compress it into one awkward command: dirname `grep -E '^archive_command' postgresqlc.conf | awk '{print $NF}' | awk -F\' '{print $1}'` dirname will directory component of a path (dirname /backup/wal/%f => / backup/wal) So, that's dirname on the results of grepping for the line that starts with archive_command piped through a basic awk (split on spaces) printing the last filed piped through an awk splitting on a single quote printing the first field. Erik Jones, Database Administrator Engine Yard Support, Scalability, Reliability (415) 963-4410 x 260 Location: US/Pacific IRC: mage2k
В списке pgsql-general по дате отправления: