awk '/YEAR/{$1=$1;print}' OFS=", " file | sed 's/\(.*\),\(.*\)/\1\2/'
/YEAR/ -> select lines with "YEAR" $1=$1 -> reset the field separators (remove double spaces).. print -> ..and print the line.. OFS=", " -> .. with the new output fieldseparator
Code:
sed 's/\(.*\),\(.*\)/\1\2/'
The sed command removes the last comma of the output of the awk command.
\(.*\),\(.*\) -> selects two patterns \(.*\) of the string, the 1st pattern is the line until the last comma (greedy match) and the 2e pattern the line after the last comma. \1\2 -> prints the 2 patterns.
---------- Post updated at 14:55 ---------- Previous update was at 14:25 ----------
Quote:
Originally Posted by bha148
Hi Franklin,
Thanks for the reply. Your code gives the output like this...
Code:
MERZ, APPLE, RED, 2 YEARS
VW, WHITE, 0 YEAR
AUDI, GREEN, BLUE, 1 YEAR
script is not capturing the 'orange' and 'grape' fields in the first line output...
Sorry, I misread the question...in this case the code shouldn't work.
Did you try the other solutions above?
Difficult to automate this with a bad structured file, you could have more pitfalls in your file...
I will start with an example of what I'm trying to do and then describe how I am approaching the issue.
File
PS028,005
Lexeme HRS # M #
PhraseType 1(1:1) 7(7)
PhraseLab 501 503
ClauseType ZYq0
PS028,005
Lexeme W # L> # BNH # M #... (17 Replies)
I want to search a small string in a large string and find the locations of the string. For this I used grep "string" -ob <file name where the large string is stored>. Now this gives me the locations of that string. Now how do I store these locations in a text file.
Please use CODE tags as... (7 Replies)
Hi,
I am trying to remove lines once a string is found till another string is found including the start string and end string. I want to basically grab all the lines starting with color (closing bracket). PS: The line after the closing bracket for color could be anything (currently 'more').... (1 Reply)
I am attempting to grep an exact string from a series of files within a directory and append that output to the filename when it is present in the file. I've been after this all day with no luck. Thanks for your help in advance :wall:. (4 Replies)
here is what i want to achieve... consider a file contains below contents. the file size is large about 60mb
cat dump.sql
INSERT INTO `table1` (`id`, `action`, `date`, `descrip`, `lastModified`) VALUES (1,'Change','2011-05-05 00:00:00','Account Updated','2012-02-10... (10 Replies)
Hi All,
I am trying to to compare a string variable with a string literal inside a loop but keep getting the
./testifstructure.sh: line 6:
#!/bin/sh
BOOK_LIST="BOOK1 BOOK2"
for BOOK in ${BOOK_LIST}
do
if
then echo '1'
else
echo '2'
fi
done
Please use next... (1 Reply)
I've the output in the file like below. I want to capture the value in file before string(*) and the similar value in next line only.
cat test1.txt
0003 Not Visible (M) 0 00 03F
0005 Not Visible (M) 0 00 040
- AVAILABLE 0 00... (1 Reply)
I am trying to capture the last value before the the * in test4.txt file using sed & tail (in this case 0FA). I got the output using the below steps.
P.s: The number of * in the file varies from file to file.
Any idea of a better way to do this?
cat test4.txt
... (2 Replies)
continuing from my previous post, whose link is given below as a reference
https://www.unix.com/shell-programming-scripting/171076-shell-scripting.html#post302573569
consider there is create table commands in a file for eg:
CREATE TABLE `Blahblahblah` (
`id` int(11) NOT NULL... (2 Replies)
Hi All,
I have an XML-:
<ProcId>CES_P5010_AddVLan</ProcId>
<DataVersion>yxcxycyxcycyxc</DataVersion>
<JobId>OR3000055-002-1</JobId>
</CesHeader>
<VLanServiceList>
<NopId>blu</NopId>
</VLanServiceList>
<StatusNPA>2</StatusNPA>
... (5 Replies)