03-30-2010
Using sed in for loop
I have a file MAT.txt which contains the following data:
mat1.txt
mat2.txt
.
.
.
.
mat100.txt
I want to remove the '.txt' from every line and have an output file with the following data:
mat1
mat2
.
.
.
.
mat100
I know this can be done with sed easily for each line, but I do not know how to use sed in a loop and have a script that does the editing from line 1 to line 100.
The following code works, but I need it in a loop:
sed -e '/mat1.txt/s//mat1/g' -e '/mat2.txt/s//mat2/g' ............... -e '/mat100.txt/s//mat100/g' MAT.txt > MAT1.txt
Can somebody help me out?
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
I have a hostnames file which has:
$ cat hostnames.txt
serverxx1
serverxx2
serverxx3
My script:
#!/bin/sh
fileA=build.xml
for i in ./hostnames.txt ; do
sed 's/createConfig machine="Machine"/createConfig machine=" '$i' "/g' "$fileA" > ./tmpfile
done
FileA has:
createConfig... (2 Replies)
Discussion started by: chiru_h
2 Replies
2. UNIX for Dummies Questions & Answers
dear guys,
I want to replace the beginning of some lines in a file by (,)
The sequence number of lines is located in a file named numbers
so, i used this simple script to do so, but it didn't work. it does'nt recognize the $j in the command sed
#! /bin/sh
for j in `cat numbers`
do
sed '$j... (6 Replies)
Discussion started by: marwan
6 Replies
3. Shell Programming and Scripting
So I am back again beating my head against the wall with a shell script and getting a headache! I want to change each year in a file (1980, 1981, 1982, 1983, etc.) to the same year followed by a tab.
The input is "blah blah (1980) blah blah".
I want to get "blah blah (1980 ) blah blah".... (2 Replies)
Discussion started by: Peggy White
2 Replies
4. Shell Programming and Scripting
Okay, title is kind of confusion, but basically, I have a lot of scripts on a server that I need to replace a ps command, however, the new ps command I'm trying to replace the current one with pipes to sed at one point. So now I am attempting to create another script that replaces that line.
... (1 Reply)
Discussion started by: cbo0485
1 Replies
5. Shell Programming and Scripting
Hi there,
I have 1 file with different 144 lines and 144 files that I want to change with a sed.
What I want to do is to go trough the file with the 144 different lines take the line a replace a certain pattern with said in the first file of the folder where the 144 files are. Take the second... (3 Replies)
Discussion started by: sickboy
3 Replies
6. UNIX for Dummies Questions & Answers
Hi,
im having problem creating a loop using my code: aside from the fact that the 1st variable (VAR) does not increment, it loops more than the expected output.
for sample purposes, test csv contains 3 lines.
#get number of lines in the file
lines=$( wc -l < test.csv )
... (5 Replies)
Discussion started by: paoie
5 Replies
7. Shell Programming and Scripting
Hi,
i have written a script. it collects data based on the sql queries executed by it. i have multiple output files. after the output file is made i need to do some cosmetic changes in the files and then store them. i am unable to use sed conditions inside the loop.
see below code for... (3 Replies)
Discussion started by: dazdseg
3 Replies
8. Shell Programming and Scripting
Hi all,
I'm trying to search for the first field in a file called vintella.sudoers_1 and then use the result to grep for its match in vintella.sudoers_useralias file but assigning the second field of what it finds to another variable called to_replace.
I then want to use that to_replace... (9 Replies)
Discussion started by: Jazmania
9 Replies
9. UNIX for Dummies Questions & Answers
Hello
I have a group of files
a1.profile a2.profile a3.profile a4.profile b1.profile b2.profile b3.profile b4.profile These files all have the same first line with a value s1 atop the columns
s1_context s1_ref s1_sample s1_% etc I am trying to use sed in a for loop to replace the s1 in the... (2 Replies)
Discussion started by: plumb_r
2 Replies
10. UNIX for Dummies Questions & Answers
Hi,
I have a file called 1.txt, I want to create 2.txt through 100.txt using a for loop. In each instance of the loop, I want to change all "1"'s in the text file to "2"s and so on...
I tried the code below to do this:
for i in {2..100}; do sed 's/1/$i/g' 1.txt > $i.txt; done
but it... (1 Reply)
Discussion started by: evelibertine
1 Replies
LEARN ABOUT MOJAVE
set_color
set_color(1) fish set_color(1)
NAME
set_color - set_color - set the terminal color
set_color - set the terminal color
Synopsis
set_color [-v --version] [-h --help] [-b --background COLOR] [COLOR]
Description
Change the foreground and/or background color of the terminal. COLOR is one of black, red, green, brown, yellow, blue, magenta, purple,
cyan, white and normal.
o -b, --background Set the background color
o -c, --print-colors Prints a list of all valid color names
o -h, --help Display help message and exit
o -o, --bold Set bold or extra bright mode
o -u, --underline Set underlined mode
o -v, --version Display version and exit
Calling set_color normal will set the terminal color to whatever is the default color of the terminal.
Some terminals use the --bold escape sequence to switch to a brighter color set. On such terminals, set_color white will result in a grey
font color, while set_color --bold white will result in a white font color.
Not all terminal emulators support all these features. This is not a bug in set_color but a missing feature in the terminal emulator.
set_color uses the terminfo database to look up how to change terminal colors on whatever terminal is in use. Some systems have old and
incomplete terminfo databases, and may lack color information for terminals that support it. Download and install the latest version of
ncurses and recompile fish against it in order to fix this issue.
Version 1.23.1 Sun Jan 8 2012 set_color(1)