psql -Fを使用して、選択クエリをタブ区切りのテキストファイルにダンプしたいと思います。ただし、これは機能しません。
psql -Umyuser mydb -F '\t' --no-align -c "select * from mytable" -o /tmp/dumpfile.txt
これにより、区切り文字はリテラル\tになります。代わりに実際のタブを使用するにはどうすればよいですか?
psql -Fを使用して、選択クエリをタブ区切りのテキストファイルにダンプしたいと思います。ただし、これは機能しません。
psql -Umyuser mydb -F '\t' --no-align -c "select * from mytable" -o /tmp/dumpfile.txt
これにより、区切り文字はリテラル\tになります。代わりに実際のタブを使用するにはどうすればよいですか?
リテラルタブを使用するだけでよいと思います。これがどのように機能するかは、シェルによって異なります。この投稿を見たことがありますか?
bash シェルでは、$'\t'
.
あなたの質問の例を使用してください:
psql -Umyuser mydb -AF $'\t' --no-align -c "select * from mytable" -o /tmp/dumpfile.txt
からman bash
:
$'string' 形式の単語は特別に扱われます。単語は文字列に展開され、バックスラッシュでエスケープされた文字は ANSI C 標準の指定に従って置き換えられます。[...] ドル記号がなかったかのように、展開された結果は一重引用符で囲まれます。
Unix では、次のように入力することもできます。
ctrl-V tab
ctrl-V は、次のキーを解釈しないように端末に指示します。
これは、キャリッジ リターン (^M) や、矢印キーなどの他の多くの特殊キーでも機能します。