Hi, i have a problem with a sed command runned in a for cycle...
I have a file named fileX which contains (i have crippled the line to minimal for easy):
And a file named fileY which contains:
I don't understand why sed change every occurrence of TOCHANGE in fileX, i have read that sed change the first occurrence and then proceed if switch "g" is omitted...
The portion of the code where i surely have made an error is:
I've thinked that the file results will be like:
Because the echo on variable TC show me the values in order...
But instead i have this:
Let me guess, your script leaves the last value in the fileY.
You say sed change the first occurrence and then proceed if switch "g" is omitted, this is correct, but for each line. fileX includes TOCHANGE in every line, so for every line sed will change the first occurrence.
I think you can apply sed substitution only for a 1 line range, but I don't know how.
I think an issue is that each iteration will change for filex to results. But, you never in-between copy results back to filex before doing the next step.
So, after your sed, you would need something like
I'm not exactly certain what it is you're trying to do, so hopefully some general advice might be of use:
To change the first instance of "a" to "b" on _every_ line:
]
To change the first instance of "a" to "b" in a file:
In sed's substitution command, an empty regular expression is equal to the most recent regular expression used, so "s/a/b/" could have been written as "s//b/".
Thx to all, i've tried both sed solution but it doesn't work...
Like kcoder24 said the intent was to change the first occurrence for a single line and pass to next line on every cicle of for statement...
I try to explain myself better, in fileX i have the lines to change and in fileY i have the values to insert sequentially on every line of fileX.
Both fileX and fileY has the same number of lines because the origin of both files is unique.
Dear all,
I want to create a table using a shell script. Hope someone can help.
I created a variable that contains the path for different files.
For all the files I want to do calculations and print it to stdout (or file) as a table.
I tried this code:
paths=`cat $tabdelim_file | awk... (7 Replies)
Hi,
i would like to insert a if-then-else function in to cycle for
--------------
cat test
--------------
# cat test
ALFA
BETA
GAMMA
-----------------------
This is my script:
#!/bin/bash
for i in $(cat test); if ; then
echo "ok"
else (5 Replies)
i have a question how to modify below script to generate the expect result below :
test.sh
#!/bin/bash
for ((i=0; i < 25; i++))
do
echo $1$i
done
current result:
test.sh 20090101
200901010
200901011
200901012
200901013
200901014
200901015
200901016
200901017
200901018 (2 Replies)
Hello,
I have a question:
is there a way to have a "for" cycle done a certain number of times. For example in c++ I can do this:
for (i=o;i<10;i++)
and the cycle will be repeated 10 times.
in UNIX for example I do this:
for i in `cat /etc/host` do done
and the cycle will be repeated... (6 Replies)
hello everybody,
I need help on putting a wildcard match inside an if condition (I'm using korn shell):
if ]
then echo ' '
echo ''$MYSEL' is not a correct option'
echo ' '
else .....
i tried also #if -ne "``" and a lot of combinations of `"' but I didn't find the... (2 Replies)
Hello,
I have files in a dir.
I what to create a FOR cycle that will do this
FOR <condition> do
file=`ls <directory> | tail -1`
echo $file
mv -f $file <another dir>
done
What I want to now is what should I put in the <condition>. The condition I want is that the FOR will execute... (3 Replies)
Hello
I got a cycle in the script which open another scripts.
if
then
action
fi
Scripts action will be running 2 times at the same time.
Inside of action() is insert into the table.
But what I want is that only first script can do insert into table.
So how to do... (2 Replies)