2016-10-20 10 views
1

私はCPU_status.csvファイルを持っていますが、Linuxでは "./Test.sh"というスクリプトを使用してCPU_test.xls形式に変換しようとしていますVI(Ericsson SSR8020)だが、私がftpするときには、常に1つのカラムをExcelに入れている。提案とフィードバックは高く評価されます。ありがとう。Linux環境でCSVファイルをXLSファイルに変換する(SSR 8020 Ericsson)

enter image description here

#!/bin/bash 
 
echo "Check CPU" 
 
tail -n +2 CPU_status.csv | head -1 | awk 'BEGIN{FS="|"}{print $1,$3,$16,$33,$50,$67,$81,$98}'| column -t;tail -n 50 CPU_status.csv | awk 'BEGIN{FS="|"}{print $1,$3,$16,$33,$50,$67,$81,$98}' | column -t 
 
echo "Hit Enter to Continue..." 
 
sleep 1 
 
read continue 
 

 
echo "./Test.sh>CPU_test.xls" 
 
./Test.sh>CPU_test.xls 
 
echo "Hit Enter to Continue..." 
 
sleep 1 
 
read continue

答えて

0

セミコロン区切りのファイルを作成し、Excelができ、必要な方法でデータを読み込み、列後続にそれらを広げます。さらに、column -tコマンドを削除します。

それは次のようになりshoul:

tail -n +2 CPU_status.csv | head -1 | awk 'BEGIN{FS="|"; OFS=";"}{print $1,$3,$16,$33,$50,$67,$81,$98}'; tail -n 50 CPU_status.csv | awk 'BEGIN{FS="|"; OFS=";"}{print $1,$3,$16,$33,$50,$67,$81,$98}'

+0

ありがとうございます。残念ながら、これは私が探している解決策ではありません。私はMS Excelでこれらを変更する方法を知っています。私はLinuxシェルスクリプトでテーブルとカラムを作ることについて、毎日何度もExcelで編集する必要がなくなります。 cronjobデータのようなもの。 –

+0

okですから、セミコロンで区切られた出力ファイルを生成するスクリプトセクションを修正してください。私は答えを編集しました。それを確認してください –

0

Perlは読書やExcelの.XLSとのxlsxを書くための便利なCPANモジュールを持っています。

#!/home/utils/perl-5.8.8/bin/perl 
use Spreadsheet::WriteExcel; 
use warnings; 
use strict; 
# open input file (fields delimited by ',') 
my $inputfile = shift; 
my $outputfile = shift; 
open my $IN, '<', $inputfile, or die "Could not open $inputfile"; 
# Create a new Excel workbook 
my $workbook = Spreadsheet::WriteExcel->new($outputfile); 
# Add a worksheet and a row 
my $worksheet = $workbook->add_worksheet(); 
my $xlscol = my $xlsrow = 0; 
for my $line (<$IN>) { 
    print "\$line: $line"; 
    my @fields = split /,/, $line; 
    print "\@fields: @fields\n"; 
    for my $csvcol (1, 3, 16, 33, 50, 67, 81, 98) { 
     $xlscol++; 
     print "$xlsrow\t$xlscol\t$csvcol\t$fields[$csvcol]\n"; 
     $worksheet->write($xlsrow, $xlscol, $fields[$csvcol]); 
    } 
    $xlsrow++; 
} 
# Usage: writeXlsExample.pl CPU_status.csv my.xls 
# File has been written to my.xls 
関連する問題