Sponsored Content
Top Forums Shell Programming and Scripting How can I match the particular character in the string? Post 302672343 by ctsgnb on Monday 16th of July 2012 09:08:38 AM
Old 07-16-2012
Code:
# cat tst
20120608: [TXT 120k-130k(130k), manachan]
20120608: [TXT 120k-130k(130k), natsumi]
............
20120608: [Full TxT 120k-130k(130k), manatsu]
..........
2012031201: [TXT 350k-540k(600k)], hime]
# awk -F"[][ ]" 'NF>4{a[$3]=(a[$3]?a[$3] RS:z) $(NF-1)}END{for(i in a) {print i":" RS a[i]}}' tst
Full:
manatsu
TXT:
manachan
natsumi
hime
# awk -F"[][ ]" 'tolower($3)~/full|txt/{a[$3]=(a[$3]?a[$3] RS:z)  $(NF-1)}END{for(i in a) {print i":" RS a[i]}}' tst
Full:
manatsu
TXT:
manachan
natsumi
hime

awk -F"[][ ]"use the square braket as well as the space charactere as fields separator
'tolower($3)~/full<pipe>txt/According to those field separators if the third field set to lower case matches "full" or "txt"
{a[$3]=(a[$3]?a[$3] RS:z) $(NF-1)}then build associative array indexed by the value of $3 and concatenate in element a[$3] the field N-1
a[$3]?a[$3] RS:z just means : if a[$3] is true (means : is not null and not empty and not equal to zero), then assign it with itself + a record separator(new line), otherwise assign z (wich defaulty has not been assigned so its value is empty)
a[$3]=(a[$3]?a[$3] RS:z) $(NF-1)concatenate the N-1** field to the previous expression and store it into the a[$3] element
 (**)since space " " and closing square bracket "]" are record separator)
END{ once the whole input file has been processed
for(i in a) {for all index existing in array a
print i":" RS a[i]}}'Display the name of the index with ":" then new line, then the element that contains the list of concatenated entries found for that index

Last edited by ctsgnb; 07-16-2012 at 10:38 AM..
This User Gave Thanks to ctsgnb For This Post:
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

match a character in a line and replace

Hi, I have a file with large number of records. Sample below: 123456789QWERT2U 2 erter 987123678ZXCVB6Y 5 7689 934567123GHJKUI4O 7 - -- -- I want the 16th character in each record to be replaced with the below as follows;so 2 will become K, 6 will become O and 4 will become... (3 Replies)
Discussion started by: er_ashu
3 Replies

2. Shell Programming and Scripting

Korn: How to loop through a string character by character

If I have a string defined as: MyString=abcde echo $MyString How can I loop through it character by character? I haven't been able to find a way to index the string so that I loop through it. shew01 (10 Replies)
Discussion started by: shew01
10 Replies

3. Homework & Coursework Questions

character match and count

Use and complete the template provided. If you don't, your post may be deleted! 1. The problem statement, all variables and given/known data: How can I count number of occurance of a single character in a file.. eg. How many '$' characters are there in account file..! 2. Relevant commands,... (1 Reply)
Discussion started by: aadi_uni
1 Replies

4. Shell Programming and Scripting

exact string match ; search and print match

I am trying to match a pattern exactly in a shell script. I have tried two methods awk '/\<mpath${CURR_MP}\>/{print $1 $2}' multipath perl -ne '/\bmpath${CURR_MP}\b/ and print' /var/tmp/multipath Both these methods require that I use the escape character. I am guessing that is why... (8 Replies)
Discussion started by: bash_in_my_head
8 Replies

5. Shell Programming and Scripting

How to match character with single quote?

I need to check whether first character of variable is single quote. I tried the below constructions but they are all not working (always return true) if (test `echo "$REGEXP" |cut -c1` != "'"); then echo "TRUE"; fi if (test `echo "$REGEXP" |cut -c1` != '\''); then echo "TRUE"; fi if (test... (5 Replies)
Discussion started by: urello
5 Replies

6. Shell Programming and Scripting

awk : match the string and string with the quotes :

Hi all, Here is the data file: - want to match only lan3 in the output . - not lan3:1 file : OPERATING_SYSTEM=HP-UX LOOPBACK_ADDRESS=127.0.0.1 INTERFACE_NAME="lan3" IP_ADDRESS="10.53.52.241" SUBNET_MASK="255.255.255.192" BROADCAST_ADDRESS="" INTERFACE_STATE=""... (2 Replies)
Discussion started by: rveri
2 Replies

7. Shell Programming and Scripting

sed Character match and replace

Hello All I am struck in the issue which I want to share with all of you. What I am trying to do is For every line in a file I have to replace a particular character from the given character in a file For Example Suppose the data is 1111x2222 1111x2222 2222y3333 1111x2222 I... (4 Replies)
Discussion started by: adisky123
4 Replies

8. Shell Programming and Scripting

Match string against character class in bash

Hello, I want to check whether string has only numeric characters. The following code doesn't work for me #!/usr/local/bin/bash if ]]; then echo "true" else echo "False" fi # ./yyy '346' False # ./yyy 'aaa' False I'm searching for solution using character classes, not regex.... (5 Replies)
Discussion started by: urello
5 Replies

9. Shell Programming and Scripting

Extracting character between 2 token - using only first match

Hello. ps -ae return I would like that the following command return 3214 echo " 3214 ? 00:00:01 acroread" | grep -o "]]]*" (5 Replies)
Discussion started by: jcdole
5 Replies

10. Shell Programming and Scripting

sed searches a character string for a specified delimiter character, and returns a leading or traili

Hi, Anyone can help using SED searches a character string for a specified delimiter character, and returns a leading or trailing space/blank. Text file : "1"|"ExternalClassDEA519CF5"|"Art1" "2"|"ExternalClass563EA516C"|"Art3" "3"|"ExternalClass305ED16B8"|"Art9" ... ... ... (2 Replies)
Discussion started by: fspalero
2 Replies
Mojo::Content::MultiPart(3pm)				User Contributed Perl Documentation			     Mojo::Content::MultiPart(3pm)

NAME
Mojo::Content::MultiPart - HTTP 1.1 multipart content container SYNOPSIS
use Mojo::Content::MultiPart; my $multi = Mojo::Content::MultiPart->new; $multi->parse('Content-Type: multipart/mixed; boundary=---foobar'); my $single = $multi->parts->[4]; DESCRIPTION
Mojo::Content::MultiPart is a container for HTTP 1.1 multipart content as described in RFC 2616. EVENTS
Mojo::Content::Multipart inherits all events from Mojo::Content and can emit the following new ones. "part" $multi->on(part => sub { my ($multi, $single) = @_; ... }); Emitted when a new Mojo::Content::Single part starts. $multi->on(part => sub { my ($multi, $single) = @_; return unless $single->headers->content_disposition =~ /name="([^"]+)"/; say "Field: $1"; }); ATTRIBUTES
Mojo::Content::MultiPart inherits all attributes from Mojo::Content and implements the following new ones. "parts" my $parts = $multi->parts; $multi = $multi->parts([]); Content parts embedded in this multipart content, usually Mojo::Content::Single objects. METHODS
Mojo::Content::MultiPart inherits all methods from Mojo::Content and implements the following new ones. "new" my $multi = Mojo::Content::MultiPart->new; Construct a new Mojo::Content::MultiPart object and subscribe to "read" event with default content parser. "body_contains" my $success = $multi->body_contains('foobarbaz'); Check if content parts contain a specific string. "body_size" my $size = $multi->body_size; Content size in bytes. "build_boundary" my $boundary = $multi->build_boundary; Generate a suitable boundary for content. "clone" my $clone = $multi->clone; Clone content if possible, otherwise return "undef". "get_body_chunk" my $chunk = $multi->get_body_chunk(0); Get a chunk of content starting from a specfic position. "is_multipart" my $true = $multi->is_multipart; True. SEE ALSO
Mojolicious, Mojolicious::Guides, <http://mojolicio.us>. perl v5.14.2 2012-09-05 Mojo::Content::MultiPart(3pm)
All times are GMT -4. The time now is 10:48 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy