0

実行中のスクリプトが1つあり、csvファイルを以下の形式で出力します

25-02-2013          
RJ          
D204349194          
Pagamento Caixa                                                     0   
           256.31    -256.31    

しかし、私は以下の形式で整列する必要があります:

25-02-2013  RJ  D244728244  Pagamento Banco Brasil  0   403.25  -403.25

Excelのように、列に分割する必要があることを意味します

私に提案してください

4

3 に答える 3

1

インストール済みの場合はcolumn、次の行を試してください。

 awk '{printf $0}' file|column -t

あなたの例のために:

kent$  cat file
25-02-2013          
RJ          
D204349194          
Pagamento Caixa                                                     0   
           256.31    -256.31

kent$  awk '{printf $0}' file|column -t
25-02-2013  RJ  D204349194  Pagamento  Caixa  0  256.31  -256.31
于 2013-02-27T10:10:44.463 に答える
0
awk '{$1=$1; printf $0 "  "}' input; echo

$1=$1は各行の空白を圧縮し、echoは終了改行を発行します。

于 2013-02-27T13:44:32.373 に答える
0

最初に を使用trしてすべてを 1 行にまとめ、次に を使用sedしてフィールドに基づいて 1 行を分割します。次のことを試してください。

tr '\n' '\t' < file | sed -r 's/([0-9]{2}-[0-9]{2}-[0-9]{4})/\n\1/g'

これは、次のことを前提としています。

  • あなたのファイルはタブ区切りです
  • 各レコードの最初のフィールドはフォームの日付ですdd-MM-yyyy
  • 最初のフィールドを除いて、レコードに他の日付がない
于 2013-02-27T12:08:52.307 に答える