unix - Dealing with cat and head in a bash loop -
i trying add 2 lines of text 1 file beginning of bunch of other files using loop in bash command line.
i tried in command line:
$for in *.txt; head -2 ../../041_r_def_c.txt > x; cat >> x; \mv x i; done
but gives me error:
cat: i: no such file or directory
i tried move 1 line beginning of files:
$for in *.txt; echo "#c wavelength d %4.0f angstrom"|cat - > /tmp/out && mv /tmp/out i; done cat: i: no such file or directory cat: i: no such file or directory cat: i: no such file or directory
i thought carry name of .txt file, don't think is. how can carry name of file/play role of file?
in loop, i
variable, need access contents of variable $
, should cat $i >> x
. otherwise, thinks want cat
file named i
, doesn't exist. $i
gives name stored inside variable i
.
you run same issue mv
... want \mv x $i
Comments
Post a Comment