shell-scripting

How to read and extract information from a file that is being continuously updated?

This is how I am planning to build my utilities for a project : logdump dumps log results to file log. The results are appended to the existing results if the file is already there (like if a new file is created every month, the results are appended to the same file for that month). extract reads the log result file to extract relevant...

executing shell command in background from script

how can I execute a shell command in the background from within a bash script, if the command is in a string? For example: #!/bin/bash cmd="nohup mycommand"; other_cmd="nohup othercommand"; "$cmd &"; "$othercmd &"; this does not work -- how can I do this? ...

How can I make a program overlay text on a postscript file?

I have some graphs in postscript format, generated by gnuplot. I need to place some identifying information on the graph. How can I script some instructions to do that? I want to write a number at the top right corner of the graph (a .ps file). ...

Change file name suffix(es) (using sed ?)

I'd like to change the file name suffix from files (using a bash script), but sometimes there are files with one period and some with two. Now I use this: new_file=`echo ${file} | sed 's/\(.*\.log.*\)'${suf}'/\1.'${num}'/'` Where 'new_file' is the new file name, 'file' the original file name, '${suf}' the file's suffix and ${num} a n...

Whats wrong with this C shell script?

I am trying to write a C shell equivalent script for the bash script mentioned here. This is what I have : #! /bin/tcsh set now=`date +%Y%m%d%H%M.%S` if (( ! -f "./cache" ) || (-n "`find ./monme -newer ./cache`" )) then touch cache -t "$now" echo "new files added" | mail -s "new build" [email protected] endif and this i...

Do we have short circuit logical operators in C shell script?

I thought C shell script will behave like C and use short circuit evaluation for logical operators. if ((! -e $cache ) || ("`find $monitor -newer $cache`" != "")) then ... endif But in the if statement, even if the first condition is true, the second is checked giving me errors. Do we have a short circuit logical OR in C shell script...

Find the name of Directory Service User via Login Script in Perl

Hi Friends, I made a login script in Perl which has to run on Mac OS X clients and record the Logged in Directory Service user name. I tried using getlogin() , getpwuid($<) respectively. Now the problem is that since the login script runs as root on the system when the client logs in, getpwuid($<) always gives me the username as root....

Subversion; checking out only trunk for multiple projects

I have a directory structure in svn like this: Project A branches tags trunk Project B branches tags trunk ... I want to checkout only trunk directories for all these projects. There are about 400 of these kind of projects so checking out trunk manually won't be an option. My first guess would be to use svn list, but my shell s...

__LINE__ equivalent for Linux shell

Hello, I am writing a considerably huge shell script. Is there any way to print the line number of the script from that script? Basically I want to have something similar to gcc LINE macro. This will help me to debug my script. Thanks in advance, Souvik ...

Multiple wordlists in csh script foreach loop

I have a Cshell script that I am modifying to have related input and output locations. the functionality all happens in a foreach loop like so: set INPUT_LOCATION_LIST = "loc1 loc2 loc3 loc4" foreach location ($INPUT_LOCATION_LIST) #***Do some stuff *** end I would like to have an output list with different values than the input list...

Unix shell script: Update timestamp on all sub-directories and sub-files, including those with spaces

Here's what I'm trying to achieve. I have a directory with over 4200 sub-files/sub-directories, all of which need to be set to a certain timestamp. This is a problem because many of them have whitespaces and other weird characters. First thing I tried: touch $(find .) Won't work because of the spaces. It will update the timestamps o...

how to read file line by line in shell script and store each line in a variable.

hi all, i am new in unix. i have to write a shell script which read a file line by line and store it in a separate variable. my text file contents multiple source path and one destination path. something like this:: source_path=abc/xyz source_path=pqr/abc desination_path=abcd/mlk number of source path can vary. I dont have much hands ...

create a rolling buffer in bash

I want to use curl to get a stream from a remote server, and write it to a buffer. So far so good I just do curl http://the.stream&gt;/path/to/thebuffer. Thing is I don't want this file to get too large, so I want to be able to delete the first bytes of the file as I simultaneously add to the last bytes. Is there a way of doing this? A...

sed extract multiple possible(?) values from a file

Hi Folks I have a file that has multiple lines like the following: "<sender from="+919892000000" msisdn="+919892000000" ipAddress="" destinationServerIp="" pcfIp="" imsi="892000000" sccpAddress="+919895000005" country="IN" network="India::Airtel (Kerala)" "<sender from="+919892000000" msisdn="+919892000000" ipAddress="" destinationServe...

How do I obtain only digits from a string?

Suppose I have a string like this: blah=-Xms512m I want the output as 512. I know I can get it using grep on Linux like this: echo $blah | grep -o -e [0-9]\\+ But this doesn't work on Solaris. Any nice solutions so that it's compatible on both, Linux and Solaris? Or atleast on Solaris? ...

svn script to commit a set of deleted files

Hi, I've deleted many files from my local copy which were present in different sub directories of main directory. I want to remove all the locally deleted files from my SVN repository also. If I'm checking the SVN status of my main directory using svn st main_dir then all the deleted files are showing with '!' symbol which means the co...

Shell script question

Hi, I want to execute following command in shell script cp /somedire/*.(txt|xml|xsd) /destination/dir/ But this does not run inside shell script. Any quick help? createjob.sh: line 11: syntax error near unexpected token `(' My shell is zsh. Thanks Nayn ...

Change Default Group in Script

Is it possible to change a user's default group inside a script for the duration of that script's execution? I need to generate files in a script that have the proper user and group but my user's primary group is not who should own the resultant output. $ groups groupa groupb $ ./myscript.sh $ ls -l -rw-r--r-- 1 me groupa 0 Sep 1...

How to execute a shell script from C in Linux?

How can I execute a shell script from C in Linux? ...

Executing shell script with system() returns 256. What does that mean?

I've written a shell script to soft-restart HAProxy (reverse proxy). Executing the script from the shell works. But I want a daemon to execute the script. That doens't work. system() returns 256. I have no clue what that might mean. #!/bin/sh # save previous state mv /home/haproxy/haproxy.cfg /home/haproxy/haproxy.cfg.old mv /var/run/ha...