Programming :: Bash Script Sed -r -i And -e Parameters?
May 3, 2011
I have a bash script where I am replacing a date with a variable
Code:
variable="date"
sed -r "s/([0-9][0-9])/([0-9][0-9])/([0-9][0-9][0-9][0-9])/$variable/g" /path/to/file.txt
I have googled but cant find any info on what the -r, or sometimes I have seen -i and -e, after the "sed" I googled "sed parameters"
r appears to output the replaced date, but not change the original file. Usually using -i will change an original file for me. Does anyone know what the -i, -e, -r are about? A link to an explanation would be good, as I have been unable to find one in my searches.
I get no print to stdout on screen from the C code.Does bash somehow block or mask it?I get print from bash. I get this error in the non-test bash script like: let "rdval = $rdstr"syntax error: operand expected (error token is " ")The let command prints rdval= but I presume this is due to the printf test statements getting in the way.I am getting no compile errors. Why does the C code not print the values specified?
I've searched online and found many examples using getopts, but nothing that clearly explains it use, nor any examples of what I'm trying to do. I have a script named "process". It can take from 0 to 3 different options. I'd like to be able to handle these options regardless of the order that they are entered.
Syntax: process [-v] [-d #] [-h|-?] [string] -v = verbose mode on -d # = how deep to do the process, expecting a number parameter -h or -? = show command usage string = only process lines containing the specified string
If the -c option is present, then commands are read from string. If there are arguments after the string, they are assigned to the positional parameters, starting with $0.
How do I pass file names as parameters to the shell through a script? I have installed 'wipe' from the repos and it is a shell based app. so I made a shellscript and put it in my script folder.
the normal usage of wipe is 'wipe -q /path/to/file' so if I were to make a shell script, right click on the file in question, and run the script on it, how to I permit the shell to wipe that file only, in other words pass it as a parameter. I think on windows it was the use of %1, such as. 'wipe -q %1' for example, which was simple enough. how to I achieve this with bash?
I'm trying to write a script where I want to check if any of the parameters passed to a bash script match a string. The way I have it setup right now is if [ "$3" != "-disCopperBld" -a "$4" != "-disCopperBld" -a "$5" != "-disCopperBld" -a "$6" != "-disCopperBld"]but there might be a large number of parameters, so I was wondering if there is a better way to do this?EDIT:I tried this chunk of code out, and called the script with the option, -disableVenusBld, but it still prints out "Starting build". Am I doing something wrong?
Specifically I'm trying to run xmacro from within a c program. If I were to run it from the terminal I would do it along the lines of Code: xmacroplay :0.0 < script_file.txt, but I want to run it from my c program. I'm fine with my c program running it from the terminal if that's possible and easier but I'm guessing there must be a better way.
I pass two parameters in a URL, s and q. I recently ran into the problem that the & in the value(aerial&satelitecity)causes a bit of trouble so I need to replace it. After some research I found that it needs to be replaced by %26. I've tried the standard PHP functions htmlspecialchars and htmlentities, but they translate to & Is there another function that I haven't found yet or must I write my own?
I am setting up my test / development machine with the following scenario in mind : I boot the machine and then select one of a number ( e.g. 3 ) boot options in Grub ( Normally "OpenSuse", "Safe Mode" etc., but in this case "System Restore Dev.", "System Restore Test" ). The only difference between these options are the settings ( e.g. "vga=378" ) in these cases something like "distro=dev" / "distro=test".
In a script run on the booted system I can extract the value of the "distro" parameter ( in this case "test" ) and use it as input for a command line tool. Meaning that name entered as the value for the "distro" parameter is used for loading a file when the system is up and running. The command line tool then restores the partition with the contents of the file and reboots the system.Now, my problem is this : How to I access the Grub arguments? Code snippets ( in shell scripting or python preferbly ) are more than welcome.
I have the following problem. I have my script /usr/lib/cgi-bin/login.cgiand two page in /var/www, home.html and welcome.html.When I log in /var/www/home.html with email and password, then login.cgi to extract exact user informations from mysql. Now I'd like start welcome.html page from login.cgi and passing user informations trought parameters
insmod: error inserting 'kernel.ko': -1 Invalid parametersI am getting this error when i am try to insert kernel.ko into kernelMy systemfedora 12 with gcc 4.4.2insmod kernel.koinsmod: error inserting 'kernel.ko': -1 Invalid parametersmy program
Ive read a few books and a lot of tutorials on C but can't find this topic explained in a deliberate way.I can find bits and pieces but nothing thorough.
This is the following exercise:Adapt this to write a script storedList that takes two command line parameters. The first parameter is the name of a directory, the second parameter is the name of a directory should be store i.e# ./storeList.sh /etc etcFilesListHow can you refer to the variables that represent the words passed in on the command line?
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.
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!
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.
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 think it would be better to count the len and remove 3 chars to right to get the extension, but it can be macintosh filenames with have 4 chars for extensions.
I want to pass ip address,port address and some parameters from command line using python script.The ip address and port address for establishing socket connection and remaining parameters to execute different connection.
I have two txt files containing x and y coordinates: xcoord.txt & ycoord.txt. I need to open them; read them line by line to get each coordinate; then each time I need to update Xs and Ys parameters inside another file called "dc.in" with the grabbed values.
Finally each time I need to run two exe files ( dc_2002 and st_vac) and produce corresponding output for each Xs and Ys ( dc.in is an input file for this exe files)
I have written the following code but it does not work:
I need to rename the resulted searched files from a loopI have the following code:
find . -name DOC* | while read i do find $i -type f -name '*.txt' done
basically, I am searching for all txt files inside any folder starting with DOC name.this code is working fine with me.I need to rename those .txt files to .txtOLDOS: Ubuntu 10.4Bash shell
I have tried to learn how 64bit asm (nasm in my case) works and found, among the many disparate pieces of info on the net, a few vague inferences that floating point registers can be used for other purposes than what they are intended for, example: "64-bit Linux allows up to fourteen parameters to be transferred in registers (6 integer and 8 floating point)." This would be fantastic for string operations/manipulation (I have never used asm for floating-point operations), can anyone shed a bit of light?
I am trying to write a bash script that sources another bash script. Essentially, I need a few lines to check to see if a certain variable is set. If not, I set it manually, and then source a scripts with that variable in the path. I wrote a test script to try it, but for some reason the last line does not work. Here is what I wrote:
#!/bin/sh source ~setupdir/setup.shrc #just a test, this line works echo ${#SETUP} # prints 0 if setup is not set, which it isn't if [ ${#SETUP} -eq 0 ] then SETUP="~setupdir" fi echo $SETUP # prints ~setupdir
i'm in the process of learing C++. currently i'm creating shell scripts to get things done. i'm just curious how, as a programmer using C++ you would get a similar job done.as an example i have a script that takes the contents of files, pipes it to some sed and awk commands, which is piped to create a new file. that file is then imported into a mysql database.if you were going to do this in C++, would you call the sed/awk programs to modify the file, or can it be done within the program itself? i'm probably jumping the gun here because i've just started learing about pointers so this is above my ability
Creating script that converts hex to dec. But without using bc calculator or other methods that could convert it in one line. I need to make something like this script that converts dec to hex.
I have a basic awk script that can read a file named 'server_info' and output to the screen which fax lines are not working. Now I want to make the script execute commands instead of printing to the screen but I am having trouble... This is better explained by my code below:
test.sh Code: #!/usr/bin/awk -f # #The name of this script is test.sh