07-17-2013
In general, 'in place' almost never is, because files do not work that way. You cannot tell a disk 'snip this line here, change that text there, and make it all line up properly'. You get to seek, overwrite, and truncate, and that's it.
And that is what you need to do here -- truncate. Figure out exactly what byte you need the file to stop at, seek to that point, then truncate the rest. What languages can you use? I'm not sure you can do this in pure shell.
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Say I do a date command and get the time from 15 minutes ago.
I have a text file with the date printed out every minute or so and I want to cut the file at the date stamp given to me by the 15 minute ago time stamp.
Is there an easy way to do this?
Example:
date +%M gives me 56
I... (2 Replies)
Discussion started by: LordJezo
2 Replies
2. Shell Programming and Scripting
Hi,
I have a simple question:
I need to enter some text in a text file at a certain place via perl.
I would first need to find that specific text in the file and then I would like to insert a line after that particular line.
Say I have this text file:
I am a great Perl Programmer
I... (1 Reply)
Discussion started by: som.nitk
1 Replies
3. Shell Programming and Scripting
I have a big text file. I want to cut it into 2 pieces at known point or I know the pattern of the contents from where it can separate the files. Is there any quick command/solution? (4 Replies)
Discussion started by: sandy221
4 Replies
4. UNIX for Dummies Questions & Answers
How can I cut the text of definite length say from line no. 20 to 1000?
It is trivial ques, but I am very new to Unix.
Thanks :) (3 Replies)
Discussion started by: JackR
3 Replies
5. Shell Programming and Scripting
Hi,
I lack the utter fundamentals on how to craft an awk script.
I have hundreds of text files that were mangled by .doc format so all the lines are broken up so I need to join all of the lines of text into a single line. Normally I use vim command "ggVGJ" to join all lines but with so many... (3 Replies)
Discussion started by: n00ti
3 Replies
6. Shell Programming and Scripting
Hi
I would love a bit of help with a problem im having with a script. I need to insert a line of text which is saved in a variable called $fwInsert into a file whos name is saved in a variable called $server but it needs to be in a certain order.
The file is a forward file for a network and... (12 Replies)
Discussion started by: KatieV
12 Replies
7. Shell Programming and Scripting
Hello Friends,
I am stuck with the below problem.Any help will be appreciated.
I have a file which has say 100 lines.
On the second last line I have a line from which i want to remove certain characters..
e.g
CAST(CAST( A as varchar(50)) || ',' ||
CAST(CAST( B as varchar(50)) || ',' ||... (8 Replies)
Discussion started by: vital_parsley
8 Replies
8. UNIX for Advanced & Expert Users
I am being passed a file in UNIX, ie: variable.txt
I need to extract the first part of the file content, up to the period, content ie: common_dir.second_output
cut -d'.' -f1 /content/stores/variable.txt
I then need to utilize the results to create a variable ($1), and test on that... (4 Replies)
Discussion started by: talonbow
4 Replies
9. Shell Programming and Scripting
I am trying to use awk to place the contens of a filename in $1 and $2 followed by the data in the text file. Basically, put the filename within the text file. There are over 1000 files in the directory and as of now each file is saved with a unique name but it is not within the file. Thank you... (10 Replies)
Discussion started by: cmccabe
10 Replies
10. Shell Programming and Scripting
Hello,
I have some text data that is in the form of multi-line records. Each record ends with the string $$$$ and the next record starts on the next line.
RDKit 2D
15 14 0 0 0 0 0 0 0 0999 V2000
5.4596 2.1267 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 ... (5 Replies)
Discussion started by: LMHmedchem
5 Replies
LEARN ABOUT NETBSD
truncate
TRUNCATE(2) BSD System Calls Manual TRUNCATE(2)
NAME
truncate, ftruncate -- truncate a file to a specified length
LIBRARY
Standard C Library (libc, -lc)
SYNOPSIS
#include <unistd.h>
int
truncate(const char *path, off_t length);
int
ftruncate(int fd, off_t length);
DESCRIPTION
truncate() causes the file named by path or referenced by fd to have a size of length bytes. If the file previously was larger than this
size, the extra data is discarded. If it was previously shorter than length, its size is increased to the specified value and the extended
area appears as if it were zero-filled.
With ftruncate(), the file must be open for writing; for truncate(), the process must have write permissions for the file.
RETURN VALUES
A value of 0 is returned if the call succeeds. If the call fails a -1 is returned, and the global variable errno specifies the error.
ERRORS
Error return codes common to truncate() and ftruncate() are:
[EISDIR] The named file is a directory.
[EROFS] The named file resides on a read-only file system.
[ETXTBSY] The file is a pure procedure (shared text) file that is being executed.
[EIO] An I/O error occurred updating the inode.
[ENOSPC] There was no space in the filesystem to complete the operation.
Error codes specific to truncate() are:
[ENOTDIR] A component of the path prefix is not a directory.
[ENAMETOOLONG] A component of a pathname exceeded {NAME_MAX} characters, or an entire path name exceeded {PATH_MAX} characters.
[ENOENT] The named file does not exist.
[EACCES] Search permission is denied for a component of the path prefix, or the named file is not writable by the user.
[ELOOP] Too many symbolic links were encountered in translating the pathname.
[EFAULT] path points outside the process's allocated address space.
Error codes specific to ftruncate() are:
[EBADF] The fd is not a valid descriptor.
[EINVAL] The fd references a socket, not a file, or the fd is not open for writing.
SEE ALSO
open(2)
STANDARDS
Use of truncate() to extend a file is an IEEE Std 1003.1-2004 (``POSIX.1'') extension, and is thus not portable. Files can be extended in a
portable way seeking (using lseek(2)) to the required size and writing a single character with write(2).
HISTORY
The truncate() and ftruncate() function calls appeared in 4.2BSD.
BUGS
These calls should be generalized to allow ranges of bytes in a file to be discarded.
BSD
March 16, 2008 BSD