Re: What is field separator?
От | Greg Smith |
---|---|
Тема | Re: What is field separator? |
Дата | |
Msg-id | 4C04798D.70606@2ndquadrant.com обсуждение исходный текст |
Ответ на | Re: What is field separator? (Tena Sakai <tsakai@gallo.ucsf.edu>) |
Ответы |
Re: What is field separator?
|
Список | pgsql-admin |
Tena Sakai wrote: > $ echo "select marker, p, afreq from gallo.fbat_sdsdecode limit 10" | \ > > psql -P 'format=unaligned' -P 'fieldsep=\t' -t -f - musket > What's denoted as \t is not a tab character. It is a two character > sequence backslash followd by a t. I have tried all other possibilities > such as \\t , "\t", etc that I can think of, but I cannot get an honest to > god tab character to appear as field separator. Yeah, that's a tough one. In bash you can use ANSI C quoting to pull this off: psql -c "select name,setting from pg_settings limit 1" -d postgres -At -F $'\t' See http://wiki.bash-hackers.org/syntax/quoting for more information. Portability to other shells I'm not sure about. Note that I did two other things a little differently than your example, as well as tightening up the abbreviations: -Putting the command in -c " " is just better all around than piping into psql using echo. It even works with multi-line input, i.e.: psql -c " select 1 " -Explicitly specifying the database manually using -d makes what's happening easier to follow than expecting people to know the convention that the first non-option passed to psql is a database name. -- Greg Smith 2ndQuadrant US Baltimore, MD PostgreSQL Training, Services and Support greg@2ndQuadrant.com www.2ndQuadrant.us
В списке pgsql-admin по дате отправления: