36

psql -Fを使用して、選択クエリをタブ区切りのテキストファイルにダンプしたいと思います。ただし、これは機能しません。

psql -Umyuser mydb -F '\t' --no-align -c "select * from mytable" -o /tmp/dumpfile.txt

これにより、区切り文字はリテラル\tになります。代わりに実際のタブを使用するにはどうすればよいですか?

4

3 に答える 3

50

リテラルタブを使用するだけでよいと思います。これがどのように機能するかは、シェルによって異なります。この投稿を見たことがありますか?

bash シェルでは、$'\t'.

あなたの質問の例を使用してください:

psql -Umyuser mydb -AF $'\t' --no-align -c "select * from mytable" -o /tmp/dumpfile.txt

からman bash:

$'string' 形式の単語は特別に扱われます。単語は文字列に展開され、バックスラッシュでエスケープされた文字は ANSI C 標準の指定に従って置き換えられます。[...] ドル記号がなかったかのように、展開された結果は一重引用符で囲まれます。

于 2012-04-25T12:54:19.137 に答える
10

Unix では、次のように入力することもできます。

ctrl-V tab

ctrl-V は、次のキーを解釈しないように端末に指示します。

これは、キャリッジ リターン (^M) や、矢印キーなどの他の多くの特殊キーでも機能します。

于 2015-02-07T20:17:06.313 に答える