Ubuntu :: Regexp R-search In Bash
Jul 13, 2010What keyboard shortcut will give me a regexp reverse search in bash? Or does C-r supply something like that already that I can't figure out?
View 4 RepliesWhat keyboard shortcut will give me a regexp reverse search in bash? Or does C-r supply something like that already that I can't figure out?
View 4 RepliesI've a text file which have a structure like:
<managed-data-source .....
name="nameDS"
/>
<connection-pool ....
code....
If you execute the previous command, you will see that it also displays connection-pool lines.
I have something like...
Code:
var=beer
# echo ${var/%e/E} doesn't do anything because i can only replace "r" or "er" this way
[code]....
I'm using an 'if' statement to check whether one of positional arguments is a word or a construction like "x-y", but something doesn't seem right.
Here is the relevant part of the code:
Code:
if [[ "$3" =~ [a-Z]-[a-Z] || "$3" =~ [a-Z] ]]; then
grepRange=$3; else grepRange=$4
fi
And for the input like this:
[Code]....
but shouldn't the $grepRange variable be blank in this case?
Bash version is 4.1.7(1)
Have a bash script which contains a line like this:
if [[ ${array[${last}]} =~ "screenpc.PRODUCTION.*" ]]
which WORKED as expected in bash 4.0.33 and now fails in 4.1.2
Instrumented the script to print the value of the left-hand side and it is exactly what is expected.
As noted above, this has been working fine until we installed Fedora 13 (kernel 2.6.33), and now it fails.
Tried setting shell 'extglob' to On with same results.
Did something change? Are there other shell/bash options that need to be set?this has the whole installation stopped!
Upon a while of searching, I think I failed to find the correct terms and I'm posting here. I often use mlocate to search for files. For example, if I say
Code:
$ mlocate temp_2.pdf
I'll get two results:
Code:
/home/kmc/Documents/latex/temp_2.pdf
/home/kmc/Documents/latex/test/temp_2.pdf
Now if I want to open one of them, I'll have to either open Acroread and browse to their locations. Or select and copy, and call acroread in terminal like
Code:
$ acroread /home/kmc/Documents/latex/temp_2.pdf
This is tedious to me. I'm thinking of a way of quickly open its search results, I've tried pipes like this but it doesn't work:
Code:
$ mlocate temp_2.pdf | acroread
maybe it doesn't work this way. So what does the trick? What's the name of this trick? I've googled for
Quote:
Linux bash catch output, pipe output, open mlocate results And is it possible to handle multiple lines of output, e.g., can I choose which line of output get forwarded to relative programs?
I need to search for a string "teststring" in all *.java files coming under /home/user1/ (including subfolders). How can I do it in linux via shell command.
View 5 Replies View Relatedtotal newb here. call me a script kiddie if you want but here is what i need to do and what i have.
need to:search a hidden log file for a specific string, find what comes after that part, and then output the result to a variable or something that can be used by an application or other script to carry out further actions.
I'm trying to use Bash to search some directories for a word in one of documents. I've tried:
Code:
$ grep -R Brzeninski /media/disk-1/Dual_Data/
but It never returned a prompt, and i'm not sure what grep means or does.
I need a command to search a string in a file and then to convert the next string in the same line from hexadecimal to binary. I was able to put everything in capitals. The original file can be as such:
E 2
C 1 794
T ffff
E 2
C 1 787
It is not always FFFF! I am trying to do this in a file at once, not reading line by line (using while).
I have a sed script to search and replace a pattern on the next kind of text:
Code:
C/username/Mydocuments/games & music
C/username/Mydocuments/New files 09-17-2007
C/username/settings
The script is:
code....
I have a text file that currently has around 150 000 usernames in it. I need to somehow group them into smaller groups of 1000 and then add that value into the DB. for example user xzy group 1 (hopefully the groups will be digits incrementing)
[Code]....
how to search for 1000 then assign them group 1 and then 1001-1999 to group 2 etc.
I have a batch rename task and I find the 'rename' command in Ubuntu and Fedora is different.In Ubuntu, rename is written in Perl and has regexp support. Is there anyway to install it on Fedora?
View 1 Replies View RelatedIm using posfix as a outgoing mail server, here i want to distribute the mails to different ips to avoid the ip blacklisting. I found a solution by using multiple transports , but here one thing blocking me was i could not able to select a transport using regexp or pcre matching pattern, log says that
Code:
Jun 5 07:12:49 server postfix/trivial-rewrite[6079]: warning: pcre map /etc/postfix/transport.pcre, line 1: regular expression substitution is not allowed: skipping this rule
the transport used for this purpose is:-
Code:
#cat /etc/postfix/transport.pcre
/^.*@([a-z])ol.com$/ transport$1:
How do I write a regexp that matches a string that begins with whitespace or contains a newline, but not necessarily both?
View 2 Replies View RelatedI am interested in the following problem: given a string (pattern) find a regexp which match this pattern.
I will need this for a developing of an idea 'pattern based filtration'.
i guess this is an installation issue as i am newish to Linux and got a F14 laptop from a used/refurb store... Anyway it seem i have difficulty with getting GTK running or maybe it is WGET...?
i did manage to install apt-get and was able to run synaptics ... but now whenever i try to run synaptics it flashes the interface and crashes. i tried apt-get search wget and it says invalid operation search. i tried apt cache wget and get a crash box in the upper right corner... i tried apt-get gtk+extra-2.1.2-4.fc14 and it says invalid operation gtk...
All of which is frustrating my attempts to get the GTK interface to J working. Their script uses WGET which i also cannot get.
I'm trying to find a good desktop search tool. Beagle is dead, Recoll and Strigi are KDE, and Tracker is not many features (can't even search Thunderbird 3). Do I miss something? Is desktop search on Linux dead? Should I use Google Desktop Search instead
View 2 Replies View RelatedI need to compare 2 files using diff. The problem I've encountered is that I need to exclude certain lines that contain certain phrases. I know that diff supports the -I switch but no matter how I try to form the regexp it doesn't seem to work the way I expect it to. If anyone has used the -I switch before could you please post some examples of how it is used.
diff -I "[skipthisline]" file1 file2 > output.diff
I need to exclude lines that contain the string "[skipthisline]" but I have no idea what syntax is used after the -I switch. Is is supposed to be included in quotes or slashes /[skipthisline]/ or entered without either? I need to include a backslash before each bracket so that it's not interpreted as a set of characters like [a-z] but is instead interpreted as a string. Do I need to use 2 backslashes? "\[skipthisline\]"
Is it sufficient to simply type the string I want to match or do I need to match the entire line in order to exclude it from the output?
.*[skipthisline].*
or
^.*[skipthisline].*$
I am trying to delete lines of a file if they contain text that is present on another file. For example
> cat one.txt:
a
b
c
d
[code]....
I get the following output:
> ./test.sh one.txt two.txt
a
b
d
e
[code]....
The desktop search has stopped working in Gnome.I get a message that says 'Search Service not running' with a button that says 'Start Search Service'.When I click the button nothing happens
View 1 Replies View Relatedfor example we search a file for a certain keyword..is there any application available which will enable us to search for a single keyword in all the files within the folder ?i want to search for a keyword in about 1000 files..if i do it manually it will take loads of time..
View 6 Replies View RelatedI got a problem with terminal, since i'm really a noob with terminal i don't know how to fix it.Everytime i type in a command it shows for example:
-bash: ls: command not found
Even the basic commands don't work... just cd <directory> and those things works
I would like to know how do I print the line # in a script. My requirement is, I have a script which is about ~5000 lines long. If there are any errors happen I just exit. And I would like to add the line # of the script where the error happened.
View 3 Replies View RelatedI create a bash script that writes another bash file. But in the generated bash file I want to write a bash command in the file and not executing it.Here's my bash file:
Code:
#!/bin/bash
cat > ~/generateGridmix2data.sh << END
[code]...
below are the details of my system. I have bash as my current shell, some really common commands aren't working.
Do I need to do a re-installation of bash? Or how do I install a selection of bash commands which I need? (for example a subset of [URL])
Code:
root@sdptfw:~ # uname -a
Linux sdptfw.sdpt.co.za 2.4.36 #1 Tue Jul 22 13:13:24 GMT 2008 i686 i686 i386 GNU/Linux
root@sdptfw:~ # echo $SHELL$
/bin/bash$
[Code]....
simple bash code:
Code:
#!/bin/bash
trap "echo 'you got me'" SIGINT SIGTERM # to trap ctrl+c
echo "Press ctrl+c during 5 sec loop"
for ((i=0;i<5;i++)); do
[Code]...
How come code behaves normally and stops when ctrl+c signal is caught and resumes, but after I use at least one timeout read in the code it looks like, if signal is caught again it doesn't pause the execution but skips the loop. If you remove -t (timeout) option from the read, both loops look the same!
I have a config file that contains:
my.config:
Code:
Now in my bash script, I want to get the output /home/user instead of $HOME once read. So far, I have managed to get the $HOME variable but I can't get it to echo the variable. All I get is the output $HOME.
Here is my parse_cmd script:
Code:
I have written quite a few separate bash & scripts and php scripts that up to now I have run from cron jobs. However I have to estimate how long each takes to run, before running the next and so it probably takes much longer than necessary to run them all. They have to run in order.
Now there are so many I am thinking it would be better to have a master bash script that would run one after the other, but I am not sure how to get the master script to wait before starting to run the next script. Is this possible and is there a command that will make the script wait between bash and php scripts , for them to finish, before running the next?
I have searched and searched and maybe I don't know how to articulate this issue with out just posting the problem I'm having. Every time I bring up a terminal window I get the following "Header"
declare -x COLORTERM="gnome-terminal"
declare -x CPLUS_INCLUDE_PATH="/usr/lib64/qt/include"
declare -x DBUS_SESSION_BUS_ADDRESS="unix:abstract=/tmp/dbus-xSFd6zqrYQ,guid=dc5e07974559da016842742900000090"
declare -x DISPLAY=":0.0"
[Code]...
To be honest I cheated and used the .bashrc / .profile files from Ubuntu and all was working fine for a while now and it seems something changed to cause this... any ideas on why I am getting this? I checked my .bashrc and my /etc/profile and it doesn't look like anything is amiss..