Sponsored Content
Top Forums Shell Programming and Scripting Need help with sed and regexp Post 302692445 by Boxtuna on Monday 27th of August 2012 05:43:24 PM
Old 08-27-2012
I apoligize for not being specific. I know how misleading that can be. And thanks again for the help.

Here's an actual example of an input file and how the input should be:

INPUT
Code:
tm_27:

  "Pinlist" = "VDAC_VREF";
  "VDAC_G" = "";
  "ForceCurrent" = "-0.1";
  "-0.1" = "";
  "0.1" = "";
  "-0.122" = "";
  "45.1120" = "";
  "-0.1" = "";
  "-0.1" = "";
  "3456" = "";
  "1" = "";
  "PassVoltMin" = "-950";
  "PassVoltMax" = "-850";
  "-850" = "";
  "-850" = "";
  "-850" = "";
  "-850" = "";
  "-850" = "";
  "-850" = "";
  stop_bin "926","mem_ddr_iobist_vmax",,bad,noreprobe,red,5,over_on;
  stop_bin "927","mem_ddr_iobist_vmax",,bad,noreprobe,red,5,over_on;

OUTPUT
Code:
tm_27:
  "Pinlist" = "VDAC_VREF";
  "VDAC_G" = "";
  "ForceCurrent" = "-0.1;-0.1;0.1;-0.122;45.1120;-0.1;-0.1;3456;1";
  "PassVoltMin" = "-950";
  "PassVoltMax" = "-850;-850;-850;-850;-850;-850;-850";
  stop_bin "926","mem_ddr_iobist_vmax",,bad,noreprobe,red,5,over_on;
  stop_bin "927","mem_ddr_iobist_vmax",,bad,noreprobe,red,5,over_on;

The pattern to match is anything like:
"123" =
or
"-123" =
or
"123.12" =
The equal signs is important. In addition there should be nothing but sapaces before this statment. I assume the regex for this is /"(-?[0-9]*\.?[0-9]+)"/
If the pattern is found then that number should be moved the previous line as shown above. The previous line will always have something like "name1" = "3456";
Any line that does not have the special pattern should be kept unchanged even if it is empty.
I hope this is more clear.
I appreciate the help!

---------- Post updated at 11:43 PM ---------- Previous update was at 10:22 PM ----------

managed to do this by making the pattern

/^[ ]*"(-?[0-9]*\.?[0-9]+)"/
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

GnuWin32 sed 4.1.4 regexp matching

I am using GnuWin32 sed and am having trouble with the regexp - i.e., they don't behave the same way as in UNIX (POSIX and and all that). I have a stream of data, e.g.: 11111'222?'22'33?'333'44444'55555' I want to insert a \n after those apostrophes that are *not* preceded by a ?. ... (2 Replies)
Discussion started by: Simerian
2 Replies

2. Shell Programming and Scripting

regexp with sed again!!!

please help: I want to add 1 space between string and numbers: input file: abcd12345 output file: abcd 1234 The following sed command does not work: sed 's/\(+\)\(+\)/\1 \2/' file Any ideas, please Andy (2 Replies)
Discussion started by: andy2000
2 Replies

3. Shell Programming and Scripting

Regexp and sed problem

Basically it should identify what ever is in between /*< >*/ (tags) and replace dbname ending with (.) with the words in between the tags i.e. DELETE FROM /*<workDB>*/epd_test./*<multi>*//*<version>*/epd_tbl1 ALL; into DELETE FROM... (4 Replies)
Discussion started by: sol_nov
4 Replies

4. Shell Programming and Scripting

Help regarding behavior sed regexp query

Hi all, I have one question regarding sed regexp (or any regexp in general), I have some path like this C:/Abc/def/ghi/jkl in a file file1 Now if i use following code cat file1 | sed 's#\(.*\)/.*#\1#' Now it give me following output C:/Abc/def/ghi, which is fine But i just... (2 Replies)
Discussion started by: sarbjit
2 Replies

5. Shell Programming and Scripting

sed regexp

Hi, I am not that good with reg exp and sed. But I was just looking at something the other day and came across a situation. When I ran the below command: echo "123 word" | sed 's/*/(&)/' the op was: (123) word But when I ran: echo "123 word" | sed 's/*/(&)/g' the o/p was: (123)... (4 Replies)
Discussion started by: King Nothing
4 Replies

6. UNIX for Dummies Questions & Answers

sed before and after regexp

Dear all i have the code which print 1 line of context before and after regexp, with line number sed -n -e '/regexp/{=;x;1!p;g;$!N;p;D;}' -e h the code work well but any one can tell me what each letter mean {=;x;1!p;g;$!N;p;D;} also how i can print 2 line before and onle line after ... (2 Replies)
Discussion started by: soly
2 Replies

7. Shell Programming and Scripting

Help with Regexp replace in vim/sed

Hi! I have a file with multiple lines following this format: <a href="xxx.aaa_bbb_ccc.yyy">xxx.aaa_bbb_ccc.yyy</a> The goal is to replace the title (not modifying the href) so the new lines looks like this: <a href="xxx.aaa_bbb_ccc.yyy">Aaa bbb ccc</a> The number of underscores in the... (2 Replies)
Discussion started by: ericjohansson
2 Replies

8. Shell Programming and Scripting

sed with multiple regexp

Dealing with Linux servers script would be in korn or bash shell syntax file is /etc/fstab I want to insert something if regex is matched to all matched lines in the /etc/fstab file and print out entire /etc/fstab file with the changes example 58.228.111.111:/my/file/system... (5 Replies)
Discussion started by: snoman1
5 Replies

9. Shell Programming and Scripting

sed regexp teaser

G'day, Here's a teaser for a sed guru, which I surely am not one, as even my basic sed skills are rusted from years of not practising ... lol Ok ... we have a string of digits such as: 632413741610252847552619172459483022433027602515212950543016701812771409213148672112 we want it split... (9 Replies)
Discussion started by: naderra
9 Replies

10. UNIX for Beginners Questions & Answers

sed with regexp in Linux

OFF 00280456 - 2014|1|2020_STATUS|GROUP_NAME|SUBGROUP_NAME|CLASS_NAME|GROUP_ID|SUBGROUP_ID I have above header in file. I need to replace 2020_STATUS with STATUS. 2020_STATUS is not always same but the column name will have STATUS all of the time. For instance column name might be 2019_STATUS... (1 Reply)
Discussion started by: jmadhams
1 Replies
Mojo::Date(3pm) 					User Contributed Perl Documentation					   Mojo::Date(3pm)

NAME
Mojo::Date - HTTP 1.1 date container SYNOPSIS
use Mojo::Date; my $date = Mojo::Date->new(784111777); my $http_date = $date->to_string; $date->parse('Sun, 06 Nov 1994 08:49:37 GMT'); my $epoch = $date->epoch; DESCRIPTION
Mojo::Date implements HTTP 1.1 date and time functions according to RFC 2616. Sun, 06 Nov 1994 08:49:37 GMT ; RFC 822, updated by RFC 1123 Sunday, 06-Nov-94 08:49:37 GMT ; RFC 850, obsoleted by RFC 1036 Sun Nov 6 08:49:37 1994 ; ANSI C's asctime() format ATTRIBUTES
Mojo::Date implements the following attributes. "epoch" my $epoch = $date->epoch; $date = $date->epoch(784111777); Epoch seconds. METHODS
Mojo::Date inherits all methods from Mojo::Base and implements the following new ones. "new" my $date = Mojo::Date->new; my $date = Mojo::Date->new($string); Construct a new Mojo::Date object. "parse" $date = $date->parse('Sun Nov 6 08:49:37 1994'); Parse date in one of the following formats. - Epoch format(784111777) - RFC 822/1123 (Sun, 06 Nov 1994 08:49:37 GMT) - RFC 850/1036 (Sunday, 06-Nov-94 08:49:37 GMT) - ANSI C asctime() (Sun Nov 6 08:49:37 1994) "to_string" my $string = $date->to_string; Render date suitable for HTTP 1.1 messages. SEE ALSO
Mojolicious, Mojolicious::Guides, <http://mojolicio.us>. perl v5.14.2 2012-09-05 Mojo::Date(3pm)
All times are GMT -4. The time now is 05:55 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy