gunakan fungsi truncate
http://linux.die.net/man/2/truncate
int truncate(const char *path, off_t length);
int ftruncate(int fd, off_t length);
truncate mengambil nama file
ftruncate mengambil deskriptor file terbuka
keduanya mengatur panjang file menjadi length
jadi itu memotong atau memanjang (dalam kasus terakhir, sisa file akan diisi dengan NULL/ZERO)
[sunting]
truncate (perintah shell linux) juga akan berfungsi
**SYNTAX**
truncate -s integer <filename>
**OPTIONS**
-s number specify the new file length. If the new length is smaller than the current filelength data is lost. If the new length is greater the file is padded with 0. You can specify a magnitude character to ease large numbers:
b or B size is bytes.
k size is 1000 bytes.
K size is 1024 bytes.
m size is 10^6 bytes.
M size is 1024^2 bytes.
g size is 10^9 bytes.
G size is 1024^3 bytes.
**EXAMPLES**
To shrink a file to 10 bytes:
truncate -s 10 /tmp/foo
To enlarge or shrink a file to 345 Megabytes:
truncate -s 345M /tmp/foo
[/edit]
Meskipun ada banyak referensi untuk truncate
berfungsi di utas ini, tidak ada yang benar-benar menjawab pertanyaan OP tentang mengurangi file dengan jumlah tetap dari lingkungan skrip. Jawaban Kevin menggunakan truncate
untuk mengubah ukuran file target ke jumlah yang tetap, tetapi tentu saja kebenaran solusi ini mengharuskan pengguna untuk mengetahui terlebih dahulu ukuran file target dikurangi data asing di akhir. Jadi, kami memiliki:
-s, --size=SIZE set or adjust the file size by SIZE bytes
Truncate
sebenarnya mendukung penghapusan data dari akhir file target secara langsung dengan memberi awalan SIZE dengan -
karakter.
Misalnya, untuk mengubah ukuran file sebesar 314 byte, Anda dapat melakukan:
truncate --size=-314 target_file.bin
Menggunakan "truncate" adalah cara terbaik, saya hanya memposting beberapa contoh:
-
Saya memiliki file "PNav-h.db", yang memiliki 50176 byte.
-rw-r--r-- 1 user user 50176 Mar 8 23:43 PNav-h.db $truncate -s 1000 PNav-h.db
itu mengatur ukuran file menjadi 1000 bypte
-rw-r--r-- 1 user user 1000 Mar 9 00:02 PNav-h.db
-
Untuk kasus Anda, gunakan
$truncate --size=xxx xxfilename
, menggunakan-<size number>
untuk mengurangi ukuran file$truncate --size=-300 PNav-h.db -rw-r--r-- 1 user user 700 Mar 9 00:07 PNav-h.db
ukuran file akhir =1000-300=700
-
menggunakan
+<size number>
untuk meningkatkan ukuran file$truncate --size=+500 PNav-h.db -rw-r--r-- 1 user user 1200 Mar 9 00:09 PNav-h.db
ukuran file akhir =700 + 500 =1200
-
jika tidak ada
-
atau+
, ini untuk mengatur ukuran file.$truncate --size=60000 PNav-h.db -rw-r--r-- 1 user user 60000 Mar 9 00:12 PNav-h.db
ukuran file akhir disetel ke 60000