Sponsored Content
Top Forums UNIX for Dummies Questions & Answers Deleting a pattern in UNIX without deleting the entire line Post 302770460 by Alyaa on Saturday 16th of February 2013 08:59:28 AM
Old 02-16-2013
U have this file:

>VA3401APNWI length=441 xy=0175_0688 region=1 run=R_2011_01_05_12_50_53_
>VA3401B7HKY length=443 xy=0788_1072 region=1 run=R_2011_01_05_12_50_53_


I want to retain only the pattern from ">" till the "space character" before "length". and discard the rest of the line starting "length till the end of the line.

I then want to append a specific string "AT50" to every line in the file.

I tried sed '/^V[^|][^|]*|/s/|.*//' file and sed '/^>[^|][^|]*|/s/|.*//' file but it doesn;t work. Any help please ?

Thank you very much

---------- Post updated at 08:59 AM ---------- Previous update was at 08:57 AM ----------

I want the output to be like that:

>VA3401APNWI tab AT50
>VA3401B7HKY tab AT50
 

10 More Discussions You Might Find Interesting

1. UNIX for Advanced & Expert Users

Deleting UNIX End of Line Chachracter \000

Hi, I have this file which has some octal NULL characters (\000). I need to replace these characters with an ASCII NULL. I've tried using Perl, the UNIX tr command.. History of this I received a COBOL generated file, ran the od command to convert to a xxx byte per record file. Now,... (3 Replies)
Discussion started by: uchachra
3 Replies

2. Shell Programming and Scripting

prom in deleting a pattern

hi guys, i have a directory.inside that so many directories and files are there.i want to search the complete directory for a pattern in all the .txt files.if i will find that pattern then i want to delete that pattern from that file. please help me out. i want it urgent (18 Replies)
Discussion started by: suvendu4urs
18 Replies

3. Shell Programming and Scripting

deleting lines after pattern using sed

I have seen there are many sed posts but still it is quite difficult to apply other post to my own problem How can I delete all lines in a file from 2 lines after this pattern *End_fine_coreg:_NORMAL to the end of file? Cheers (2 Replies)
Discussion started by: larne
2 Replies

4. Shell Programming and Scripting

deleting a pattern from a file

say i have a file with the following contents 0x20 0x20 0xc23886 > 0xc12354 > 0xc567555555 i want to delete "> " pattern and keep the rest of the file (6 Replies)
Discussion started by: lassimanji
6 Replies

5. Shell Programming and Scripting

Searching a pattern in file and deleting th ewhole line containing the pattern

Hi All, Please can someone assist in the script I have made that searches a pattern in a file and delete the whole line containing the pattern. #!bin/sh # The pattern that user want to add to the files echo "Enter the pattern of the redirect" read value # check if the user has... (1 Reply)
Discussion started by: Shazin
1 Replies

6. Shell Programming and Scripting

sed: deleting 5 lines after a specified pattern

As an example (just an example, this could apply to any block of text) say I have this: architecture x86_64 cputype CPU_TYPE_X86_64 cpusubtype CPU_SUBTYPE_X86_64_ALL offset 4096 size 2972420 align 2^12 (4096) architecture ppc64 cputype CPU_TYPE_POWERPC64 cpusubtype... (3 Replies)
Discussion started by: pcwiz
3 Replies

7. Shell Programming and Scripting

Deleting pattern without removing line

I am trying to delete a pattern without removing line. I searched a lot in this forum and using those I could come up with sed command but it seems that command does not work. Here's how my file looks like: 1 ./63990 7 1171 ./63990 2 2425 ./63990 9 2539 ./63990 1 3125 ./63990 1 10141... (7 Replies)
Discussion started by: shoaibjameel123
7 Replies

8. Shell Programming and Scripting

retaining only the second line with a pattern and deleting all others

Hi, I have a file: 5 T1AxialPremosaic ok 512 448 23 1 284000-000005-000001.dcm 6 T2_SPACE ok 256 256 176 1 465000-000006-000001.dcm 7 FLAIRmosaic ok 512 432 23 1 748000-000007-000001.dcm 8 T2_SPACE ok 256 256 1 171000-000008-000001.dcm 9 T2_SPACE ok 256 256 1 218000-000009-000001.dcm... (5 Replies)
Discussion started by: goodbenito
5 Replies

9. Shell Programming and Scripting

Help with a deleting lines based on a pattern

I have a header-detail file that goes like this: SHP00288820131021110921 ORDER0156605920131021110921INMMMMFN DETAIL0004 4C2Z 10769 AAFC 0000009600000094 4C2Z 10769 AAFC 0000672107 OIL DETAIL0002 ER3Z 14300 E 0000001300000012 ER3Z 14300 E 0000672107 OIL... (3 Replies)
Discussion started by: rbaggio666
3 Replies

10. Shell Programming and Scripting

Deleting lines on matching certain pattern

hi I have a large xml file from which i have taken few lines . In this file I have to find for the string </invoices> and check if the 3 rd line after this string does not begin with <portCode> ,then i have to delete the string </invoices> and the next line having the string </shippingBill>... (13 Replies)
Discussion started by: sunnyboy
13 Replies
SED(1)							      General Commands Manual							    SED(1)

NAME
sed - stream editor SYNOPSIS
sed [ -n ] [ -g ] [ -e script ] [ -f sfile ] [ file ... ] DESCRIPTION
Sed copies the named files (standard input default) to the standard output, edited according to a script of commands. The -f option causes the script to be taken from file sfile; these options accumulate. If there is just one -e option and no -f's, the flag -e may be omitted. The -n option suppresses the default output; -g causes all substitutions to be global, as if suffixed g. A script consists of editing commands, one per line, of the following form: [address [, address] ] function [argument ...] In normal operation sed cyclically copies a line of input into a pattern space (unless there is something left after a command), applies in sequence all commands whose addresses select that pattern space, and at the end of the script copies the pattern space to the standard out- put (except under -n) and deletes the pattern space. An address is either a decimal number that counts input lines cumulatively across files, a that addresses the last line of input, or a con- text address, /regular-expression/, in the style of regexp(6), with the added convention that matches a newline embedded in the pattern space. A command line with no addresses selects every pattern space. A command line with one address selects each pattern space that matches the address. A command line with two addresses selects the inclusive range from the first pattern space that matches the first address through the next pattern space that matches the second. (If the second address is a number less than or equal to the line number first selected, only one line is selected.) Thereafter the process is repeated, looking again for the first address. Editing commands can be applied to non-selected pattern spaces by use of the negation function (below). An argument denoted text consists of one or more lines, all but the last of which end with to hide the newline. Backslashes in text are treated like backslashes in the replacement string of an command, and may be used to protect initial blanks and tabs against the stripping that is done on every script line. An argument denoted rfile or wfile must terminate the command line and must be preceded by exactly one blank. Each wfile is created before processing begins. There can be at most 120 distinct wfile arguments. a text Append. Place text on the output before reading the next input line. b label Branch to the : command bearing the label. If label is empty, branch to the end of the script. c text Change. Delete the pattern space. With 0 or 1 address or at the end of a 2-address range, place text on the output. Start the next cycle. d Delete the pattern space. Start the next cycle. D Delete the initial segment of the pattern space through the first newline. Start the next cycle. g Replace the contents of the pattern space by the contents of the hold space. G Append the contents of the hold space to the pattern space. h Replace the contents of the hold space by the contents of the pattern space. H Append the contents of the pattern space to the hold space. i text Insert. Place text on the standard output. n Copy the pattern space to the standard output. Replace the pattern space with the next line of input. N Append the next line of input to the pattern space with an embedded newline. (The current line number changes.) p Print. Copy the pattern space to the standard output. P Copy the initial segment of the pattern space through the first newline to the standard output. q Quit. Branch to the end of the script. Do not start a new cycle. r rfile Read the contents of rfile. Place them on the output before reading the next input line. s/regular-expression/replacement/flags Substitute the replacement string for instances of the regular-expression in the pattern space. Any character may be used instead of For a fuller description see regexp(6). Flags is zero or more of g Global. Substitute for all non-overlapping instances of the regular expression rather than just the first one. p Print the pattern space if a replacement was made. w wfile Write. Append the pattern space to wfile if a replacement was made. t label Test. Branch to the command bearing the label if any substitutions have been made since the most recent reading of an input line or execution of a If label is empty, branch to the end of the script. w wfile Write. Append the pattern space to wfile. x Exchange the contents of the pattern and hold spaces. y/string1/string2/ Transform. Replace all occurrences of characters in string1 with the corresponding character in string2. The lengths of string1 and string2 must be equal. !function Don't. Apply the function (or group, if function is only to lines not selected by the address(es). : label This command does nothing; it bears a label for b and t commands to branch to. = Place the current line number on the standard output as a line. { Execute the following commands through a matching only when the pattern space is selected. An empty command is ignored. EXAMPLES
sed 10q file Print the first 10 lines of the file. sed '/^$/d' Delete empty lines from standard input. sed 's/UNIX/& system/g' Replace every instance of by sed 's/ *$// drop trailing blanks /^$/d drop empty lines s/ */ replace blanks by newlines /g /^$/d' chapter* Print the files chapter1, chapter2, etc. one word to a line. nroff -ms manuscript | sed ' ${ /^$/p if last line of file is empty, print it } //N if current line is empty, append next line /^ $/D' if two lines are empty, delete the first Delete all but one of each group of empty lines from a formatted manuscript. SOURCE
/sys/src/cmd/sed.c SEE ALSO
ed(1), grep(1), awk(1), lex(1), sam(1), regexp(6) L. E. McMahon, `SED -- A Non-interactive Text Editor', Unix Research System Programmer's Manual, Volume 2. BUGS
If input is from a pipe, buffering may consume characters beyond a line on which a command is executed. SED(1)
All times are GMT -4. The time now is 09:22 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy