09-24-2009
I'm no expert, either, by any means, but here's my interpretation of it:
- The shell fork()s off a new process, redirects stdout to a pipe, and then exec()s cat
- Meanwhile, since the forked process runs in parallel, a second process is fork()ed off, has stdin redirected to use the same pipe, stdout redirected to a file, and exec()s sed
- If the first exec is delayed for any reason it's possible that the file redirection/trucation takes place before cat can even start to read the file. When it gets around to reading it, it sees an empty file.
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
hello
whats the difference between excuting a shell script as
a)sh myscript.sh
b). ./myscript.sh
i noticed that my shell script works fine when i run it as . ./myscript
.sh but fails when i run it as sh myscript.sh could anybody explain why.
the shell script is very simple
... (9 Replies)
Discussion started by: xiamin
9 Replies
2. Shell Programming and Scripting
Hi,
Could you please explain me the below statement -- phrase wise.
sed -e :a -e '$q;N;'$cnt',$D;ba' abc.txt > xyz.txt
if suppose $cnt contains value: 10
it copies last 9 lines of abc.txt to xyz.txt
why it is copying last 9 rather than 10.
and also what is ba and $D over there in... (4 Replies)
Discussion started by: subbukns
4 Replies
3. UNIX for Advanced & Expert Users
$ echo a.bc | sed -e "s/\|/\\|/g"
|a|.|b|c|
$
Is the behavior of the sed statement expected ? Or is this a bug in sed ?
OS details
Linux 2.6.9-55.0.0.0.2.ELsmp #1 SMP Wed May 2 14:59:56 PDT 2007 i686 i686 i386 GNU/Linux (8 Replies)
Discussion started by: vino
8 Replies
4. Shell Programming and Scripting
I've written a small script to replace certain words in all the the files in a directory.
#!/bin/sh
#Get list of files to be edited
file_list=`ls -p`
for i in $file_list
do
echo "Processing $i"
alteredi=`echo "$i" | sed -e 's/\//d/'`
if
then
if
then
#actual altering (2 Replies)
Discussion started by: Peetrus
2 Replies
5. Shell Programming and Scripting
Hi,
The following command works fine for me, but I could not grasp the logic working behind of sed command, it's obscure to me :( :confused:
echo "./20080916/core/audioex.amr" | sed "s%\(\)/%\1_%g"
o/p: ./20080916_core_audioex.amr
Could anyone please explain to me in detail, that how... (6 Replies)
Discussion started by: royalibrahim
6 Replies
6. Shell Programming and Scripting
Hi all,
I want to do a very simple thing with sed. I want to print out the line number of a disk I have defined in /etc/exports, so I do:
It's all good, but here's the problem. When I define md0 in a variable, I get nothing from sed:
Why is that? can anybody please help?
Thanks (2 Replies)
Discussion started by: alirezan
2 Replies
7. UNIX for Dummies Questions & Answers
can someone please explain the below sed command..
sed 's/\(*|\)\(.*\)/\2\1/' (6 Replies)
Discussion started by: raghu_shekar
6 Replies
8. Shell Programming and Scripting
I suppose that this is not actually a script question, but I noticed this while working on a bash script homework assignment and I have been impressed with the quality of posts here -- so that is why I posted it here.
I have this text file named textfile:
total 40
-rwxr-xr-x 1 joeblow... (2 Replies)
Discussion started by: landog
2 Replies
9. Shell Programming and Scripting
Will someone give me an explanation on how the sed command below works.
sed 's/.*//'
Thanks! (3 Replies)
Discussion started by: scj2012
3 Replies
10. UNIX for Advanced & Expert Users
I have a log with entries like:
out/target/product/imx53_smd/obj/STATIC_LIBRARIES/libwebcore_intermediates/Source/WebCore/bindings/V8HTMLVideoElement.cpp
: target thumb C++: libwebcore <=... (8 Replies)
Discussion started by: glev2005
8 Replies