私は入力ファイル(列で構成されたtxtファイル)の内容をスプレッドシートとして保存するためにLinuxで次のコマンドラインを使用しています。
less input_file > out_put.csv
私の出力ファイルは
問題は出力スプレッドシートにあります。入力ファイルのすべての列が出力ファイル(スプレッドシートCSV)の1列に固定されています。
txtファイルをタブ区切りのテキストとスプレッドシートとしてより効率的に保存するために単純なコードを変更するにはどうすればよいですか?
答え1
まず、less
これは単純なポケットベルであり、ファイルを読み取ることができるツールです。実行中の操作は、input_fileをout_put.csv()にコピーするのとまったく同じですcp input_file out_put.csv
。お客様は、いかなる方法でも内容を変更しません。
したがって、たとえば、スプレッドシートで読むには、libreoffice
スプレッドシートアプリケーションを開き、input_file
スペースを列区切り文字として使用する必要があります。
今本当にファイルを次のように変換したい場合斑点区切り値型(.csv
)、コンマが必要です。このコマンドは、各行のすべてのスペースをコンマで置き換え、出力を次のように保存しますoutput.csv
。
sed 's/ */,/g' input_file > output.csv
上記のコマンドはsed
ここで使用されます。代替演算子。一般的な形式はでs/pattern/replacement/
置き換えられます。最後に置き換えます。pattern
replacement
g
みんなパターンが各行で発生する回数。パターンがない場合、最初の行のみが置き換えられます。私が与えたパターンは(空白1つ)の後に0個以上(つまり、意味するものです
*
)空白(*
)があり、に置き換えるようにしました,
。これは基本的に「1つ以上のスペースをカンマで置き換える」という意味です。