GNU/Linux >> Linux の 問題 >  >> Linux

Linuxでファイルを特定のサイズにカットする方法は?

truncate コマンドを使用することもできます:

truncate --size=1G test.txt

SIZE はバイト、KB、K、MB、M などで指定できます。必要なサイズは手で計算できると思います。そうでない場合は、おそらく stat コマンドを使用して、ファイルの現在のサイズに関する情報を取得できます。


perl -we 'open( FILE, "< ./test.txt" ) && truncate( FILE, 8 ) && close(FILE);'

ファイルを読み取り用に開きます。ただし、ファイルを切り詰めるには、ファイルを変更する必要があるため、読み取り専用のファイル ハンドルは機能しません。 「変更」モードを使用する必要があります ("+>" ).

副次的な問題として、人々がシステム コールを黙って失敗させてから、何が問題だったのかを尋ねると、いつも驚かされます。 必需品 問題の診断の一環として、生成されたエラー メッセージを確認します。理解できなくても、助けを求める人の生活がずっと楽になります。

以下はもう少し役に立ちます:

perl -we 'open(FILE, "<", "./test.txt") or die "open: $!";
          truncate(FILE, 8) or die "truncate: $!";
          close(FILE);'

確かに、それは「無効な引数」を報告しただけです。それでも、これは有用な情報であり、オープン モードが間違っているという結論に至った可能性があります (私の場合もそうでした)。


tail を使用できます 最後の 1000 バイトをカットするには、例:

<ブロック引用>

テール -c 1000 ファイル> ファイル 2

-c その他のオプションのために、ファイルの最後の 1000 バイトを出力します:

<ブロック引用>

マンテール

元のファイルを生成したばかりのファイルに置き換えるには:

<ブロック引用>

mvファイル2ファイル


Linux
  1. Linuxファイル機能を管理する方法

  2. Linuxでファイルを見つける方法

  3. Linuxでファイルの名前を変更するにはどうすればよいですか?

  1. Linux で tar コマンドを使用する方法

  2. Linux で「at」コマンドを使用してジョブをスケジュールする方法

  3. Linux で削除されたファイルを復元するには?

  1. UbuntuLinuxでスワップサイズを増やす方法

  2. Linuxで特定のサイズのファイルを作成するには?

  3. Linuxでファイルシステムの種類を確実に判断する方法は?