07-13-2005
Passing output of sed/echo to a variable
I understand how to use a variable in a sed command, but for the life of me I can't get the output into a variable.
I'm making a general function to replace part of a filename with a different string, so:
>>myscript this that
would change:
this_file001.txt to that_file001.txt and
this_file002.txt to that_file002.txt and so on...
here's what I have:
#! /bin/csh -f
foreach i ($1*)
set j = echo $i|sed 's/'$1'/'$2'/'
echo "Moving $i to $j"
#mv $i $j
end
But it gives me a syntax error. I played around with using eval but that wouldn't work for me either. Suggestions? (preferably without taking a new approach to my problem even though I'm sure there are other/better ways to do it)
Thanks....
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
I m trying to pass variable to sed.
export var=140920060731
sed -e '/$var/d' file
but no luch so far..? any body has any idea abt it
Is there any way to pass variable to SED?
Thanks ,
Manish (2 Replies)
Discussion started by: Manish Jha
2 Replies
2. Shell Programming and Scripting
Hi,
In normal shell scripting, how do you pass the output of a command to a variable, instead of a file and be able to use it later?
The code is:
#!/bin/bash
who | cut -d" " -f1 > onlineusers
Instead of passing the output of the above command to the file called 'onlineusers'... (1 Reply)
Discussion started by: Furqan_79
1 Replies
3. Shell Programming and Scripting
Dear All,
I want to print a file.
First I tried with this
sed '2q;d' filename
it worked. But when i put following it is not working
x=2;
sed '$xq;d' filename
Would any one suggest how to pass the variable? (7 Replies)
Discussion started by: saifurshaon
7 Replies
4. Shell Programming and Scripting
Hi All,
Hope someone can advise here as I have been struggling to find a syntax that works here. I have tried a stack of combination I have seed in the forums but I think because I have needed to use "" and `` in the statments another method is found.
I am reading in lines with the following... (1 Reply)
Discussion started by: nkwilliams
1 Replies
5. Shell Programming and Scripting
Hi,
I'm new here so I want to say hello to everyone first!
I searched google and this forum for a similar problem, but wasn't successful
#! /bin/bash
I'm trying to output (echo) n lines of a text file to the screen (later into another file).
But I have problem with the sed command, it won't... (1 Reply)
Discussion started by: studiologe
1 Replies
6. Shell Programming and Scripting
Hi,
I have a problem with passing a echo output into a variable in bash
file='1990.tar'
NAME='echo $file | cut -d '.' -f1';
echo $NAME
the result is
echo $file | cut -d . -f1
however with this one,#!/bin/bash
file='1990.tar'
echo $file | cut -d '.' -f1
the result is what I... (2 Replies)
Discussion started by: 1988PF
2 Replies
7. Shell Programming and Scripting
I have a variable $WORDS that contains a string
Then i want to use sed to break it up.
echo $WORDS | sed 's// /g'
I tried setting this as a variable by doing
WORDS2=`echo $WORDS | sed 's// /g'`
But when i do this it does not return me to the prompt properly
ie.
jmpprd-v1>
jmpprd-v1>... (4 Replies)
Discussion started by: nitrobass24
4 Replies
8. Shell Programming and Scripting
Stumped with the formatting of the awk output when used with variables, e.g.:
awk -F, 'BEGIN {OFS=","} print {$2,$3,$4}' $infile1
produces the desired output (with rows), but when echoing the variable below, the output is one continuous line
var1=$(awk -F, 'BEGIN {OFS=","} print... (4 Replies)
Discussion started by: ux4me
4 Replies
9. UNIX for Dummies Questions & Answers
Hi,
I want to pass value of a variable track_line which is the line number to sed. Sed should print the lines starting from track_line till the last
line of the file. I tried the below command but it is not working.
sed -n '${track_line},$p' latest_log_file
I tried using the below too but... (1 Reply)
Discussion started by: nitinupadhyaya8
1 Replies
10. UNIX for Advanced & Expert Users
I have a below syntax its working fine...
var12=$(ps -ef | grep apache | awk '{print $2,$4}')
Im getting expected output as below:
printf "%b\n" "${VAR12}"
dell 123
dell 456
dell 457
Now I wrote a while loop.. the output of VAR12 should be passed as input parameters to while loop and results... (5 Replies)
Discussion started by: sam@sam
5 Replies
LEARN ABOUT REDHAT
dos2unix
dos2unix(1) General Commands Manual dos2unix(1)
NAME
dos2unix - DOS/MAC to UNIX text file format converter
SYNOPSYS
dos2unix [options] [-c convmode] [-o file ...] [-n infile outfile ...]
Options:
[-hkqV] [--help] [--keepdate] [--quiet] [--version]
DESCRIPTION
This manual page documents dos2unix, the program that converts plain text files in DOS/MAC format to UNIX format.
OPTIONS
The following options are available:
-h --help
Print online help.
-k --keepdate
Keep the date stamp of output file same as input file.
-q --quiet
Quiet mode. Suppress all warning and messages.
-V --version
Prints version information.
-c --convmode convmode
Sets conversion mode. Simulates dos2unix under SunOS.
-o --oldfile file ...
Old file mode. Convert the file and write output to it. The program default to run in this mode. Wildcard names may be used.
-n --newfile infile outfile ...
New file mode. Convert the infile and write output to outfile. File names must be given in pairs and wildcard names should NOT be
used or you WILL lost your files.
EXAMPLES
Get input from stdin and write output to stdout.
dos2unix
Convert and replace a.txt. Convert and replace b.txt.
dos2unix a.txt b.txt
dos2unix -o a.txt b.txt
Convert and replace a.txt in ASCII conversion mode. Convert and replace b.txt in ISO conversion mode. Convert c.txt from Mac to Unix
ascii format.
dos2unix a.txt -c iso b.txt
dos2unix -c ascii a.txt -c iso b.txt
dos2unix -c mac a.txt b.txt
Convert and replace a.txt while keeping original date stamp.
dos2unix -k a.txt
dos2unix -k -o a.txt
Convert a.txt and write to e.txt.
dos2unix -n a.txt e.txt
Convert a.txt and write to e.txt, keep date stamp of e.txt same as a.txt.
dos2unix -k -n a.txt e.txt
Convert and replace a.txt. Convert b.txt and write to e.txt.
dos2unix a.txt -n b.txt e.txt
dos2unix -o a.txt -n b.txt e.txt
Convert c.txt and write to e.txt. Convert and replace a.txt. Convert and replace b.txt. Convert d.txt and write to f.txt.
dos2unix -n c.txt e.txt -o a.txt b.txt -n d.txt f.txt
DIAGNOSTICS
BUGS
The program does not work properly under MSDOS in stdio processing mode. If you know why is that so, please tell me.
AUTHORS
Benjamin Lin - <blin@socs.uts.edu.au>
Bernd Johannes Wuebben (mac2unix mode) <wuebben@kde.org>
MISCELLANY
Tested environment:
Linux 1.2.0 with GNU C 2.5.8
SunOS 4.1.3 with GNU C 2.6.3
MS-DOS 6.20 with Borland C++ 4.02
Suggestions and bug reports are welcome.
SEE ALSO
unix2dos(1) mac2unix(1)
1995.03.31 dos2unix v3.0 dos2unix(1)