ソートを変更せずにLinuxコマンドを使用してターミナル出力を新しいファイルに書き込む方法は?

ソートを変更せずにLinuxコマンドを使用してターミナル出力を新しいファイルに書き込む方法は?

Linuxコマンドの出力を新しいファイルに書き込むために、次のコマンドを試しましたが、ソートが異なります。

ls(ターミナルから)

1m_complete.pl   current_sample.pl   rsdb.tcsh         
1m_complete.pl~  current_sample.pl~  getp.pl

しかし、ls >> ls_out(Alignment Varies)を試してみると

 1m_complete.pl   
 current_sample.pl   
 rsdb.tcsh         
 1m_complete.pl~  
 current_sample.pl~ 
 getp.pl

私の予想結果:

 1m_complete.pl   current_sample.pl   rsdb.tcsh         
 1m_complete.pl~  current_sample.pl~  getp.pl

ベストアンサー1

lsSTDOUTが端末(isatty(1))に接続されていることを確認し、接続されていない場合は各ファイル名を別々の行に印刷します。

代わりにls -C >out.txt、またはを使用して列形式のリストを取得できます。ただし、どちらの場合も、出力は端末に出力したときに表示される正確な形式ではecho * >out.txtありません。ls

おすすめ記事