Sponsored Content
Full Discussion: Editing File Headers
Top Forums Shell Programming and Scripting Editing File Headers Post 302543585 by DGPickett on Monday 1st of August 2011 10:00:27 AM
Old 08-01-2011
Yes, the effect is the same, give or takes some renaming. Update in place destroys the original if anything goes wrong, and requires much more sophisticated tools. Most text tools truncate as they write. You need a very serious language, like PERL or C, to update the middle. Maybe it is a mindset hangover from tape, where, generally, the last thing you wrote is implicitly just before EOF.

A header could contain a file length and checksum as well as data type and format type magic strings, making updates more complex, but they are less popular in audio/video as you do not know these until the end, long after the header is written, and they do not want to go back and update, either.

Getting a patch to the software would be even nicer. I have patched stings in library file object code using a binary find and replace copier, and scary thing is, no checksum alarms went off! Maybe we need secure ELF? But these few bits are harder to locate and may break other things if you change them.
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Remove Headers throughout a data file

I have a data file with over 500,000 records/lines that has the header throughout the file. SEQ_ID Name Start_Date Ins_date Add1 Add2 1 Harris 04/02/08 03/02/08 333 Main Suite 101 2 Smith 02/03/08 01/23/08 287 Jenkins SEQ_ID Name ... (3 Replies)
Discussion started by: psmall
3 Replies

2. Shell Programming and Scripting

Remove text between headers while leaving headers intact

Hi, I'm trying to strip all lines between two headers in a file: ### BEGIN ### Text to remove, contains all kinds of characters ... Antispyware-Downloadserver.com (Germany)=http://www.antispyware-downloadserver.c om/updates/ Antispyware-Downloadserver.com #2... (3 Replies)
Discussion started by: Trones
3 Replies

3. UNIX for Dummies Questions & Answers

reading file headers

Hello, I have done much googling on this, but apparently not using the right keywords. I am assuming there is some kind of header for each file on a disk which stores information such as mod time, access time, etc. I have two questions: 1) is there a way to read this header directly,... (2 Replies)
Discussion started by: Allasso
2 Replies

4. Shell Programming and Scripting

Merging of files with different headers to make combined headers file

Hi , I have a typical situation. I have 4 files and with different headers (number of headers is varible ). I need to make such a merged file which will have headers combined from all files (comman coluns should appear once only). For example - File 1 H1|H2|H3|H4 11|12|13|14 21|22|23|23... (1 Reply)
Discussion started by: marut_ashu
1 Replies

5. Shell Programming and Scripting

Editing headers

Hi, I have a folder that contains many (multiple) files 1.fasta 2.fasta 3.fasta 4.fasta 5.fasta . . 100's of files Each such file have data in the following format for example: vi 1.fasta >AB_1 200bp MLKKPIIIGVTGGSGGGKTSVSRAILDSFPNARIAMIQHDSYYKDQSHMSFEERVKTNYDHPLAFDTDFM... (4 Replies)
Discussion started by: Lucky Ali
4 Replies

6. Shell Programming and Scripting

Multiple headers in a file

Hi , I have a .txt file in which I have multiple headers, the header record starts with $ symbol...like the first column name is $Account. I have to keep the header in the first line and delete all the remaining headers which are in the file. I tried using sort adc.txt | uniq -u , but my... (7 Replies)
Discussion started by: gaur.deepti
7 Replies

7. Shell Programming and Scripting

editing headers

Hi, I have a folder that contains many (multiple) files 1.fasta 2.fasta 3.fasta 4.fasta 5.fasta . . 100's of files Each such file have data in the following format for example: vi 1.fasta 58 390 A GTATACATTATTGATGAAGTCCACATGCTTTCTATGGGTGCCTTCAATGCGCTTTTAAAA (7 Replies)
Discussion started by: Lucky Ali
7 Replies

8. Shell Programming and Scripting

Merging File with headers

Hi I need to merge 4 files. The issue i am facing is all the files have headers and i do not want them in the final output file. Can anybody suggest how to do it? (5 Replies)
Discussion started by: Arun Mishra
5 Replies

9. UNIX for Dummies Questions & Answers

Append file name to fasta file headers in Linux

How do we append the file name to fasta file headers in multiple fasta-files in Linux? (10 Replies)
Discussion started by: Mauve
10 Replies

10. UNIX for Advanced & Expert Users

Cannot find logical file format for BSD file headers.

Hi. Unix rookie here. Been looking for a few days for reference documents on how BSD UNIX lays the logical file format onto a disk. Goal is to view/edit with hex editor for data repair. Lots of docs are available for how to use Unix commands (like xxd), but I want to learn the map of how Unix... (4 Replies)
Discussion started by: Chris_top_he_r
4 Replies
Courriel::Headers(3pm)					User Contributed Perl Documentation				    Courriel::Headers(3pm)

NAME
Courriel::Headers - The headers for an email part VERSION
version 0.29 SYNOPSIS
my $email = Courriel->parse( text => ... ); my $headers = $email->headers; print "$_ " for $headers->get('Received'); DESCRIPTION
This class represents the headers of an email. Any sub part of an email can have its own headers, so every part has an associated object representing its headers. This class makes no distinction between top-level headers and headers for a sub part. Each individual header name/value pair is represented internally by a Courriel::Header object. Some headers have their own special subclass. These are: o Content-Type This is stored as a Courriel::Header::ContentType object. o Content-Disposition This is stored as a Courriel::Header::Disposition object. API
This class supports the following methods: Courriel::Headers->parse( ... ) This method creates a new object by parsing a string. It accepts the following parameters: o text The text to parse. This can either be a plain scalar or a reference to a scalar. If you pass a reference, the underlying scalar may be modified. o line_sep The line separator. This default to a " ", but you can change it if necessary. Note that this only affects parsing, header objects are always output with RFC-compliant line endings. Header parsing unfolds folded headers, and decodes any MIME-encoded values as described in RFC 2047. Parsing also decodes header attributes encoded as described in RFC 2231. Courriel::Headers->new( headers => [ ... ] ) This method creates a new object. It accepts one parameter, "headers", which should be an array reference of header names and values. A given header key can appear multiple times. This object does not (yet, perhaps) enforce RFC restrictions on repetition of certain headers. Header order is preserved, per RFC 5322. $headers->get($name) Given a header name, this returns a list of the Courriel::Header objects found for the header. Each occurrence of the header is returned as a separate object. $headers->get_values($name) Given a header name, this returns a list of the string values found for the header. Each occurrence of the header is returned as a separate string. $headers->add( $name => $value ) Given a header name and value, this adds the headers to the object. If any of the headers already have values in the object, then new values are added after the existing values, rather than at the end of headers. The value can be provided as a string or a Courriel::Header object. $headers->unshift( $name => $value ) This is like "add()", but this pushes the headers onto the front of the internal headers array. This is useful if you are adding "Received" headers, which per RFC 5322, should always be added at the top of the headers. The value can be provided as a string or a Courriel::Header object. $headers->remove($name) Given a header name, this removes all instances of that header from the object. $headers->replace( $name => $value ) A shortcut for calling "remove()" and "add()". The value can be provided as a string or a Courriel::Header object. $headers->as_string( skip => ...., charset => ... ) This returns a string representing the headers in the object. The values will be folded and/or MIME-encoded as needed. The "skip" parameter should be an array reference containing the name of headers that should be skipped. This parameter is optional, and the default is to include all headers. The "charset" parameter specifies what character set to use for MIME-encoding non-ASCII values. This defaults to "utf8". The charset name must be one recognized by the Encode module. MIME encoding is always done using the "B" (Base64) encoding, never the "Q" encoding. $headers->stream_to( output => $output, skip => ...., charset => ... ) This method will send the stringified headers to the specified output. See the "as_string()" method for documentation on the "skip" and "charset" parameters. ROLES
This class does the "Courriel::Role::Streams" role. AUTHOR
Dave Rolsky <autarch@urth.org> COPYRIGHT AND LICENSE
This software is Copyright (c) 2012 by Dave Rolsky. This is free software, licensed under: The Artistic License 2.0 (GPL Compatible) perl v5.14.2 2012-03-07 Courriel::Headers(3pm)
All times are GMT -4. The time now is 12:46 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy