12-05-2019
1. Thank you so much, that is immediately helpful!
Didn't know while loops in UNIX.
2. The copying was intended, since I need a changed version of the template.fsf in each folder (which is then run later in the script). This is the only way I know so far of doing this.
3. Yeah, the template.fsf is a text file generated by FSL specifying details of a fMRI analysis, and I'm hoping to edit it in the loop. The stimruns.txt file for each subject only contains a column vector of numbers I want to loop over within a folder of a subject, and the subjlist.txt a column vector of foldernames (subject folders) I want to loop over.
--- Post updated at 10:13 AM ---
Oh, it's bash shell
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
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
4. 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
5. Shell Programming and Scripting
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... (8 Replies)
Discussion started by: ursaan
8 Replies
6. Shell Programming and Scripting
Hi,
Please help me writing for loop to fetch data and store in variable from a text file which contains data as below:
12
46
56
5466
111
There are 40 lines of data...!!!!
I jus need all data from line no 4 to 40 ie data for 4,6,8......40. (2 Replies)
Discussion started by: fidelis
2 Replies
7. UNIX for Dummies Questions & Answers
:wall:
I have a requirement to search a log file that never rotates for certain values. If I find them I pipe them to a another file. To log file is constanyl being appened with new lines and never rotating Easy so far.
The problem is I dont want to pipe out matches already seen before. ... (3 Replies)
Discussion started by: gunnahafta
3 Replies
8. 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
9. 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
10. Shell Programming and Scripting
Hi,
I work on Ab-initio ETL tool which is based on Unix. I made a small script which has two loop's one with in another. All the functionality is working for the first line of outer loop but when it comes to other lines of outer loop it is throwing error as command not found. Below is the... (4 Replies)
Discussion started by: Ravindra Swan
4 Replies
LEARN ABOUT OPENDARWIN
foreach
foreach(n) Tcl Built-In Commands foreach(n)
__________________________________________________________________________________________________________________________________________________
NAME
foreach - Iterate over all elements in one or more lists
SYNOPSIS
foreach varname list body
foreach varlist1 list1 ?varlist2 list2 ...? body
_________________________________________________________________
DESCRIPTION
The foreach command implements a loop where the loop variable(s) take on values from one or more lists. In the simplest case there is one
loop variable, varname, and one list, list, that is a list of values to assign to varname. The body argument is a Tcl script. For each
element of list (in order from first to last), foreach assigns the contents of the element to varname as if the lindex command had been
used to extract the element, then calls the Tcl interpreter to execute body.
In the general case there can be more than one value list (e.g., list1 and list2), and each value list can be associated with a list of
loop variables (e.g., varlist1 and varlist2). During each iteration of the loop the variables of each varlist are assigned consecutive
values from the corresponding list. Values in each list are used in order from first to last, and each value is used exactly once. The
total number of loop iterations is large enough to use up all the values from all the value lists. If a value list does not contain enough
elements for each of its loop variables in each iteration, empty values are used for the missing elements.
The break and continue statements may be invoked inside body, with the same effect as in the for command. Foreach returns an empty string.
EXAMPLES
The following loop uses i and j as loop variables to iterate over pairs of elements of a single list. set x {} foreach {i j} {a b c d e f}
{
lappend x $j $i } # The value of x is "b a d c f e" # There are 3 iterations of the loop.
The next loop uses i and j to iterate over two lists in parallel. set x {} foreach i {a b c} j {d e f g} {
lappend x $i $j } # The value of x is "a d b e c f {} g" # There are 4 iterations of the loop.
The two forms are combined in the following example. set x {} foreach i {a b c} {j k} {d e f g} {
lappend x $i $j $k } # The value of x is "a d e b f g c {} {}" # There are 3 iterations of the loop.
SEE ALSO
for(n), while(n), break(n), continue(n)
KEYWORDS
foreach, iteration, list, looping
Tcl foreach(n)