Sponsored Content
Top Forums Shell Programming and Scripting Help - delete content inside square brackets under conditions Post 302913581 by dperboni on Monday 18th of August 2014 03:23:11 PM
Old 08-18-2014
Linux Help - delete content inside square brackets under conditions

I have the file sed1.txt and I need to strip the brackets ([[*]]) and content inside them only when
I have two or three letters followed by a colon.

for example,it may be any letter, not just abc
[[ab:*]]
[[abc:*]]

Code:
#-- cat sed1.txt
1 [[special:linguagem]] FISICA
2 [[ba:matematica:portugues]]PORTUGUES
3 [[zz:aldkljfdljdf:]] [[xy:klsdfafds99:dlfkljlkfdk]]MATEMATICA
4 [[aa:098sdf90df]][[xy:sdfakjlkfsdj]]INGLES [[agh:dkfjlfdjdf]]
5 [[wordtree:wordtreetree:tree]]QUIMICA
6 ARQUITETURA [[gg:eeoeoeoe:pepepep:eoeeeo]]ROMANA
[[as:dlfksjkldf:slkjlkfdjskldf]]7 ENGENHARIA [[aa:lksdfjlkdjfs]]ELETRICA
8 MECATRONICA [[xas:dkfljldfsaklfds]]FRANCES[[ax:skldfjlkdsf:ljsdlfkjldfs]]
9 [[bb:dsflkjladskffds]]LITERATURA [[xx:dsfaa90ssdf90sdf:ajsdfflasd]]
10[[agroneg:ArrOzFeijao | batata]][[xca:lkdjlkasdf:ldjfalkjfsd:lkdsjlkfjdç]] MEDICINA[[sa:dsflkjkldfs]]
11[[ax:lksdjfkl]] [[ss:dljsaflk]] SED [[sx:sdjflkjfsda]]- AWK
12[[xbc:lkjaflkjfds]] UNIX [[ax:kjdlfjdfskadf]]LINUX[[xu:kldfsjkljdfs]] PERL    [[gg:lksdfjlk:jljsdlkjfds:lkjlkjflds]][[hg:dfjkjfdkjfd]][[xdc:dkdkdkdkdk]][[kd:dflkjdfklkldf:djfjklfdasjfadk:jkafdsjklfdsjkldfas:*/*/*/*/]]

I managed to get this:
Code:
# sed -e 's/\[\[.\{2,3\}:.*[^]].*\]\]//g' sed1.txt 

1 [[special:linguagem]] FISICA
2 PORTUGUES
3 MATEMATICA
4 
5 [[wordtree:wordtreetree:tree]]QUIMICA
6 ARQUITETURA ROMANA
ELETRICA
8 MECATRONICA 
9 
10[[agroneg:ArrOzFeijao | batata]]
11- AWK
12

--------------
#-- sed .... the real result should be:

Code:
1 [[special:linguagem]] FISICA
2 PORTUGUES
3 MATEMATICA
4 INGLES
5 [[wordtree:wordtreetree:tree]]QUIMICA
6 ARQUITETURA ROMANA
7 ENGENHARIA ELETRICA
8 MECATRONICA FRANCES
9 LITERATURA
10[[agroneg:ArrOzFeijao | batata]]MEDICINA
11 SED - AWK
12 UNIX LINUX PERL

--------------------------------------------
What do I have to change in the script ?
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

square brackets

I would like to substitute a phrase which contains square brackets. change TO how? Thanks (2 Replies)
Discussion started by: gilead29
2 Replies

2. Shell Programming and Scripting

WHy the double square brackets?

One of the senior administrators gave me a shell script to modify and it begins as follows: if ] && ] {more code follows} Why the double square brackets? (10 Replies)
Discussion started by: mojoman
10 Replies

3. Shell Programming and Scripting

Double square brackets question

Hi, I just came across an interesting shell script syntax like the one below: ] && (trap 'rm -rf ${WORK_DIR}/*.$$; echo "\n\nInterrupted !!\n\n"; exit 4' 1 2 3 15) Can someone please explain the code snippet above? The trap command bit is fine but ] && is the hazy part. Generally we use an... (2 Replies)
Discussion started by: King Nothing
2 Replies

4. UNIX for Dummies Questions & Answers

Test command - Two square brackets

Hello, Can someone please explain to me the following line, ] && break I do not understand why two test square brackets are used. Thanks, Shantanu ---------- Post updated at 03:38 PM ---------- Previous update was at 03:35 PM ---------- And, also why there's a $ before (echo $c |... (5 Replies)
Discussion started by: Shan_u2005
5 Replies

5. Shell Programming and Scripting

Replacing text between two square brackets

hi guys, i'm writing a script that looks for a unquie id in a file and replaces a string between two square brackets on the same line as the unquie id: ....... ....... 0001 zz 43242 replace this text] name 0002 sd 65466 UK] country ....... ....... how can i find line with id 0001... (6 Replies)
Discussion started by: zaff
6 Replies

6. Shell Programming and Scripting

Delete text between square brackets and also delete those square brackets using sed or awk

Hi All, I have a text file which looks like this: computer programming systems engineering I want to get rid of these square brackets and also the text that is inside these brackets. So that my final text file looks like this: computer programming systems engineering I am using... (3 Replies)
Discussion started by: shoaibjameel123
3 Replies

7. Shell Programming and Scripting

Extract text between two square [..] brackets

Hi All, After searching about this, I could find some solutions but I am not sure why it is not working in my case. I have a text file with contents between two square brackets. The text file looks like this: Use tags when you post any code so others can easily read your code. You can... (2 Replies)
Discussion started by: shoaibjameel123
2 Replies

8. Shell Programming and Scripting

Compare the value in between square brackets in file

I wanted to compare the value inside the Squre bracket after Colon ( : ) based on any value(seperated by or operator | ) inside the variable Thread and if match found then wnated to store in output file Input file : 20140320 00:08:43.918 INO 35] - Corporate hub is 20140320 00:08:43.918... (2 Replies)
Discussion started by: nes
2 Replies

9. Shell Programming and Scripting

Problem with occurence of square brackets

Hello all, I have the following problem: $ cat infile this is spam and i need this too this is spam and i need this too $ perl -nwe '$_ =~ /]+ \]+)\]\]*\]? (\+)$/; print "$1 - $2\n";' infile i need this - too i need this - and i need this too I am not sure how many occurences of... (13 Replies)
Discussion started by: zaxxon
13 Replies

10. Shell Programming and Scripting

IF statement with square brackets

Hi All, Hope you all are doing good. Yesterday in my project i came across a scenario which i can not guess why it was working in one region and why it was not in another region. Please find my issue below. I am using AIX version 6.0 of UNIX in my project, in shell scripting i have the... (1 Reply)
Discussion started by: mad man
1 Replies
WILDMAT(3)						     Library Functions Manual							WILDMAT(3)

NAME
wildmat - perform shell-style wildcard matching SYNOPSIS
int wildmat(text, pattern) char *text; char *pattern; DESCRIPTION
Wildmat is part of libinn(3). Wildmat compares the text against the pattern and returns non-zero if the pattern matches the text. The pattern is interpreted according to rules similar to shell filename wildcards, and not as a full regular expression such as those handled by the grep(1) family of programs or the regex(3) or regexp(3) set of routines. The pattern is interpreted as follows: x Turns off the special meaning of x and matches it directly; this is used mostly before a question mark or asterisk, and is not spe- cial inside square brackets. ? Matches any single character. * Matches any sequence of zero or more characters. [x...y] Matches any single character specified by the set x...y. A minus sign may be used to indicate a range of characters. That is, [0-5abc] is a shorthand for [012345abc]. More than one range may appear inside a character set; [0-9a-zA-Z._] matches almost all of the legal characters for a host name. The close bracket, ], may be used if it is the first character in the set. The minus sign, -, may be used if it is either the first or last character in the set. [^x...y] This matches any character not in the set x...y, which is interpreted as described above. For example, [^]-] matches any character other than a close bracket or minus sign. HISTORY
Written by Rich $alz <rsalz@uunet.uu.net> in 1986, and posted to Usenet several times since then, most notably in comp.sources.misc in March, 1991. Lars Mathiesen <thorinn@diku.dk> enhanced the multi-asterisk failure mode in early 1991. Rich and Lars increased the efficiency of star patterns and reposted it to comp.sources.misc in April, 1991. Robert Elz <kre@munnari.oz.au> added minus sign and close bracket handling in June, 1991. This is revision 1.2.6.1, dated 2000/08/17. SEE ALSO
grep(1), regex(3), regexp(3). WILDMAT(3)
All times are GMT -4. The time now is 10:39 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy