In fact it appends a pipe ("s/.*/&|/" means replace a whole line with itself plus a pipe) only in lines which already contain at least one pipe character ("/|/").
Try this:
This reads: if there is a pattern: "not-pipe, followed by line-end" ("[^|]$") found, then replace it with itself followed by a pipe. Because the line-end is not really a character this works.
I hope this helps.
bakunin
Or, using the initial approach, search for a non-| at the end, then substitute:
This has even got a more efficient substitution.
I have a bunch of files named publish.php within subdirs. I need to append a line at the end of each file. I thought I could do it with find and echo like this:
find . -name publish.php -exec echo "<? include('path/to/file.php'); ?>" >> '{}' \;
but that appends the line to a file named {}... (2 Replies)
I have file called xx
Now i want to rename this file as xxYYYYMMDD_HHMIAM.xls
Here is my code..
export DATE1=`date +%Y%m%d`
mv xx xx$DATE1
This code renames as xxYYYYMMDD
Now how can i append HHMIAM at the end of the file?
Any help is appreciated... (3 Replies)
Hello, I wanted to append 'XYZ' at the end of the text file. How can i do this?
I searched the forums and i am not getting what i want. Any help is highly appreciated. Thanks (2 Replies)
Hi,
I have a directory with around 100k files and files with varying sizes(10GB files to as low as 5KB). All the files are having pipe dilimited records.
I need to append 7 pipes to the end of each record, in each file whose name contains _X3_ and need to append 10 pipes to the end of each... (3 Replies)
Hi Experts,
Am relatively new to shell programming so would appreciate some help in this regard.
I am looking at reading from a file, line by line, picking the first word of each line and appending it to the end of the line.
Any suggestions?
INPUT FILE -
3735051 :... (7 Replies)
I have searched the forms and I can not find info on appending each line of one file to the same line of another file. I know that I can cat one file to another or append the 2nd file to the end of the 1st but not quite sure how to append one line of data to another. For example
File 1 has ... (2 Replies)
hi,
i m having a group of files starting with name 'Itemdelete<timestamp>' .
my requirment is to append a blank line at the end of files ,using unix in all the Itemdelete* files with a single unix command without using scripts.can any body put some light to this requiremnt.
regards
Angel (4 Replies)
Hi,
My requirement is to append a date in format DDMMYYYYHHMISS at the end of first line of file which is HEADER. I am trying command
sed -i '1s/.*/&<date_format>/' <file_name>
Where <date_format>=`date +%m%d%Y%H%M%S`
I am somehow misisng the right quotes ti get this added in above... (2 Replies)
I need to append |\r\n (a pipe character and CRLF) at end of each record in Unix to all records where they are not already present.
So first check for the presence of |\r\n and if absent append it else do nothing (3 Replies)
Discussion started by: abhilashnair
3 Replies
LEARN ABOUT DEBIAN
io_pipe
io_pipe(3) Library Functions Manual io_pipe(3)NAME
io_pipe - create a Unix pipe
SYNTAX
#include <io.h>
int io_pipe(int64 pfd[2]);
DESCRIPTION
io_pipe creates a new UNIX ``pipe.'' The pipe can receive data and provide data; any bytes written to the pipe can then be read from the
pipe in the same order.
A pipe is typically stored in an 8192-byte memory buffer; the exact number depends on the UNIX kernel. Bytes are written to the end of the
buffer and read from the beginning of the buffer. Once a byte has been read, it is eliminated from the buffer, making space for another
byte to be written; readers cannot ``rewind'' a pipe to read old data. Once 8192 bytes have been written to the buffer, the pipe will not
be ready for further writing until some of the bytes have been read. Once all the bytes written have been read, the pipe will not be ready
for further reading until more bytes are written.
io_pipe sets d[0] to the number of a new descriptor reading from the pipe, and sets d[1] to the number of a new descriptor writing to the
pipe. It then returns 1 to indicate success. If something goes wrong, io_pipe returns 0, setting errno to indicate the error; in this case
it frees any memory that it allocated for the new pipe, and it leaves d alone.
SEE ALSO io_readfile(3), io_createfile(3), io_socketpair(3)io_pipe(3)