Sponsored Content
Top Forums Shell Programming and Scripting Problem with occurence of square brackets Post 302905600 by neutronscott on Thursday 12th of June 2014 10:08:35 AM
Old 06-12-2014
Yes, sorry. It's just clever escaping. Like one would ps | grep [s]omething. I began to use this more because in awk, depending on quoting/context, often times you need to escape your escapes since they're really processed twice, and it gets ugly so I tend to avoid \ when possible now. Smilie

Quote:
Originally Posted by Scrutinizer
And NeutronScott's approach..
Code:
sed 's/[^[]*[[]\([^]]*\)]\(\[.*\]\)*/\1 --/' file

(the original will fail with more than two square bracket episodes)
The * after the grouping allows it to repeat. But I see mine doesn't perform correctly in the last two cases.

Code:
mute@thedoctor:~$ cat input
this is spam [i need this][this is spam][another one][last] and i need this too
this is spam [i need this] probably everything [here] too
this is spam [i need this] and probably i need ] everything here too?
mute@thedoctor:~$ sed 's/[^[]*[[]\([^]]*\)]\([[][^]]*]\)*\([^]]*\)$/\1 -- \3/g' input
i need this --  and i need this too
this is spam [here --  too
this is spam [i need this] and probably i need ] everything here too?
mute@thedoctor:~$ sed 's/[^[]*[[]\([^]]*\)]\(\[.*\]\)*/\1 --/' input
i need this -- and i need this too
i need this -- probably everything [here] too
i need this -- and probably i need ] everything here too?

I also didn't think of not needing to match & sub the last part. That's definitely shorter.
 

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

Grep number between Square [] brackets

I wanted to store the number inside the square bracket between colon( : ) and closing suqre bracket(]) in some variable. Suppose I have lines like : Input file : 20140320 00:08:23.846 INFO 84] - anything in line 20140320 00:08:23.846 Test 589] - Virtual and lab lab anything... (18 Replies)
Discussion started by: nes
18 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
COLLECTD-EMAIL(5)						     collectd							 COLLECTD-EMAIL(5)

NAME
collectd-email - Documentation of collectd's "email plugin" SYNOPSIS
# See collectd.conf(5) LoadPlugin email # ... <Plugin email> SocketGroup "collectd" SocketPerms "0770" MaxConns 5 </Plugin> DESCRIPTION
The "email plugin" opens an UNIX-socket over which one can submit email statistics, such as the number of "ham", "spam", "virus", etc. mails received/handled, spam scores and matched spam checks. This plugin is intended to be used with the Mail::SpamAssassin::Plugin::Collectd SpamAssassin-plugin which is included in contrib/, but is of course not limited to that use. OPERATION
This plugin collects data indirectly by providing a UNIX-socket that external programs can connect to. A simple line based protocol is used to communicate with the plugin: o E-Mail type (e.g. "ham", "spam", "virus", ...) and size (bytes): e:<type>:<size> If "size" is less than or equal to zero, "size" is ignored. o Spam score: s:<value> o Successful spam checks (e.g. "BAYES_99", "SUBJECT_DRUG_GAP_C", ...): c:<type1>[,<type2>,...] Each line is limited to 256 characters (including the newline character). Longer lines will be ignored. SEE ALSO
collectd(1), collectd.conf(5) AUTHOR
The "email plugin" has been written by Sebastian Harl <sh at tokkee.org>. The SpamAssassin-plugin has been written by Alexander Wirt <formorer at formorer.de>. This manpage has been written by Florian Forster <octo at verplant.org>. 5.1.0 2012-04-02 COLLECTD-EMAIL(5)
All times are GMT -4. The time now is 06:08 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy