2017-08-03 18 views
1

LDAPデータベースからデータを取得するためのスクリプトを作成し、各値をタブで区切ってファイルに書き出しました。そのファイルの内容をコピー&ペーストしてExcelに貼り付けようとしましたが、データの各列を独自の行に配置するのではなく、各行のタブ区切りの内容をその行の最初の列の行に配置しますExcelファイル内にあります。行をペーストしてください。たとえば は、このモック最初の行を取ることができますコピー貼りタブ区切りの結果をExcelファイルにコピー

12121212 [] lastname, firstname [] title [] phone [] manager 

[] =私はプログラム的に私のデータ出力にタブを挿入しようとしたところ

これは私を困惑ので、私から改行を削除する機能を故意に怒っ私のLDAP検索結果を表示し、その列のデータ戻りの最後にタブを追加します。ここではaddTab機能は次のとおりです。

function addTab { 
    res='   ' # res = "\t\tx" 
    echo $1 | tr -d '\n' 
    echo "$res" | tr -d '\n' 

}

これは、(ノート$ iは、私がループ反復経由に対して検索するために使用したUIDの配列からである)私は、関数を呼び出しています方法です:

addTab `getattrVal $i employeeNumber` 
addTab `getattrVal $i employeeType` 
addTab `getattrVal $i ou` 
addTab `getattrVal $i managerEmployeeNumber` 

そしてここgetattrVal関数のコード

function getattrVale { 
    /opt/bin/ldapsearch -QLLLZZH ldap://${VIP}:389/ -b $1 $2 | grep "$2:" |awk '{ print $2 }' 

}

です

私は、columnコマンドを使用して出力された列を生成してみました。 column -t bashCreatedTabFile.txt)、Excelのスプレッドシート内に必要に応じて内容を貼り付けることができません。

おそらくこれを行うにはより良い方法があることを認識していますが、なぜこれが機能していないのかを理解することは、自分の進歩にとって重要です。

+0

私はあなたの質問を理解することはできません。私は単にstdoutをファイルに書き込んだ後、ファイルを開き、ファイルの内容をコピーしてExcelファイルに貼り付けます。だから私の想定は、私は含まれているタブですべてのコンテンツをコピーする必要があります。しかしタブはスペースだけであるようです。 –

+1

は、各行のすべての内容をその行の最初の列の行に入れます。私は例を使って投稿を更新します。 –

+0

TAB文字(ASCII文字コード009)ではなく新しい行を追加している可能性があります。 – pnuts

答えて

1

私は同じ問題を抱えていました。これは最善の解決策ではありませんが、うまくいきます。

区切り文字をカンマ(,)に変更します。通常どおりにテキストをコピーし、Excelに貼り付けます。それはおそらくまだ1つの列になります。列を強調表示し、Excelのテキスト/テキストに移動します。

データ型が「区切り」であることを確認し、区切り記号として「カンマ」を選択します。なぜ私は分かりませんが、同じことはタブではうまくいかないようです。

http://www.wikihow.com/Copy-Paste-Tab-Delimited-Text-Into-Excel

+0

はい。それはうまくいった。ありがとう。 –

関連する問題