Remove or truncate trailing nulls from file

 
Thread Tools Search this Thread
Top Forums UNIX for Beginners Questions & Answers Remove or truncate trailing nulls from file
# 8  
Old 06-11-2016
Quote:
Originally Posted by RudiC
It looks like (even though we are not dealingImage with *nix text files due to missing <NL> char at the end) GNU sed could do it, not with octal constants, but with hex constants:
Code:
sed ':L;s/\000$//;tL' XX | hd

No idea what can be the cause, but with large files it doesn't remove all the trailing null characters.

A file of 3239571456 bytes resulted in 2902450247 with dtn.c
The same file resulted in 3239570892 bytes using sed on ubuntu 64 bits.
The same file resulted in 3239457516 bytes using sed on cygwin 32 bits.

I've compared the original file with the created with dtn.c using HexCmp and the result is the wanted, while using sed is not.
Quote:
Originally Posted by Don Cragun
Not only are non-empty POSIX text files required to end with a <newline> character, they are not allowed to contain any NUL bytes either.

If GNU sed works with:
Code:
sed ':L;s/\x00$//;tL' file

does it also work with:
Code:
sed 's/\x00*$//' file

???
This doesn't work. This damages completely the file.

Last edited by Tribe; 06-11-2016 at 03:17 PM..
# 9  
Old 06-11-2016
Quote:
Originally Posted by Don Cragun
.
.
.
does it also work with:
Code:
sed 's/\x00*$//' file

???
Yes, it does:

Code:
hd XX
00000000  64 6c 6b 6a 65 72 67 00  00 00 00 00 00 00 00 00  |dlkjerg.........|
sed 's/\x00*$//' XX | hd
00000000  64 6c 6b 6a 65 72 67                              |dlkjerg|


Code:
sed --version
sed (GNU sed) 4.2.2
Copyright (C) 2012 Free Software Foundation, Inc.


Quote:
Originally Posted by Tribe
No idea what can be the cause, but with large files it doesn't remove all the trailing null characters.
Does "trailing" mean "at the end-of-file" or "at the end-of-each-line"?
# 10  
Old 06-11-2016
Quote:
Originally Posted by RudiC
Does "trailing" mean "at the end-of-file" or "at the end-of-each-line"?
At the end of a binary file
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Remove leading and trailing spaces from a file

Hi, I am trying to remove leading and trailing spaces from a file using awk but somehow I have not been able to do it. Here is the data that I want to trim. 07/12/2017 15:55:00 |entinfdev |AD ping Time ms | .474| 1.41| .581|green |flat... (9 Replies)
Discussion started by: svajhala
9 Replies

2. Shell Programming and Scripting

Remove the leading and trailing date from a CSV file

I'm a newbie to shell scripting. Can anyone help with the below requirement ? The leading and trailing date of a files to be removed. 2017-07-12_gmr_tag_log_20170711.csv 2017-07-12_gmr_call_log_20170711.csv 2017-07-12_gmr_outgoing_log_20170711.csv I'm looking for output like... (7 Replies)
Discussion started by: shivamayam
7 Replies

3. Shell Programming and Scripting

Remove trailing space from file and folder names

I have a folder that contains many sub folders and files. This tree has to be backed up to an archive system. According to the tech support, one of the archives is failing to back up due to the possibility of trailing spaces on file and folder names. Therefore, I would like to have a script... (16 Replies)
Discussion started by: vipertech
16 Replies

4. Shell Programming and Scripting

Remove trailing number

I have some strings such as ABC1 ABC2 TYFASDD12 They will only have letters and numbers. In each case I want to remove the last digit? The lengths will vary. So a hard coded substr won't work. What do I do? if it doesn't end in a number, I don't want to remove any characters. (6 Replies)
Discussion started by: guessingo
6 Replies

5. Shell Programming and Scripting

Remove trailing 0 from the field

Hi Freinds, I have file1.txt as below file1.txt 1521894~~-0.400~201207 1521794~~-0.486~201207 152494~~-0.490~201207 152154894~~-0.490~201207 1521894354~~-0.489~201207 expected output : 1521894~~-0.4~201207 1521794~~-0.486~201207 152494~~-0.49~201207... (9 Replies)
Discussion started by: i150371485
9 Replies

6. Shell Programming and Scripting

Remove trailing zeros

Hi I have a simple request but can't find the answer. I want to remove trailing zeros, and in some cases the fullstops, from the input data. Example of input file: FR002_15.000_20.000 SD475_5.000_10.500 FG5647_12.250_15.500 BH2463_30.555_32.000 Desired output file would be: ... (10 Replies)
Discussion started by: theflamingmoe
10 Replies

7. Shell Programming and Scripting

Remove trailing spaces from file

I'm currently writing my sql results to a file and they have trailing spaces after each field. I want to get rid of these spaces and I'm using this code: TVXTEMP=$(echo $TVXTEMP|sed -e 's/\ //g') It doesn't work though. I'm not familiar with sedscript, and the other codes I've found online... (6 Replies)
Discussion started by: avillanueva
6 Replies

8. UNIX for Dummies Questions & Answers

I don't want to truncate trailing spaces and ^M at the end of line

I have a script wherein I access each line of the file using a FOR loop and then perform some operations in each line. The problem is each line that gets extracted in FOR loop truncates trailing blank spaces and control characters (^M) that is present at the end of each line. I don't wan this to... (5 Replies)
Discussion started by: Shobana_s
5 Replies

9. Shell Programming and Scripting

Remove trailing G

Hello, I am trying to write a script that will calculate the amount of data remaining in a storage volume. I'm running Tru64 Unix version 5.1B patch kit 6. The script is being run against an AdvFS domain. I am programming in Korn Shell version M-11/16/88f. The basic idea is that I want to run df... (3 Replies)
Discussion started by: Heathe_Kyle
3 Replies

10. UNIX for Dummies Questions & Answers

How to remove trailing spaces

Hi, I have a file like this (ADD_MONTHS((Substr(Trim(BOTH FROM Translate(Maximum(closeDa ------------------------------------------------------------ 2007-06-30 00:00:00 I have a requirement where i need just the date. When i do: tail -1... (2 Replies)
Discussion started by: mahek_bedi
2 Replies
Login or Register to Ask a Question