Deutsch
Germany.ruФорумы → Архив Досок→ Linux & Co

в чем ошибка?

544  
  паскуда коренной житель14.12.10 18:02
14.12.10 18:02 
хочу, чтобы код вычитал с помощью tail -1 из outXSort последнюю строку и по этой строке нашел подобную в файле vset_y0.txt, сохранив найденное в coor_Xmax.txt
код не вырубается, но и coor_Xmax.txt не пишет.
помогите?
#!/bin/sh
cat vset_X.txt | colrm 1 10 > outX
cat vset_Z.txt | colrm 1 10 > outZ
tr ' ' '\n' < outX | sort -n > outXSort
tr ' ' '\n' < outZ | sort -n > outZSort
tail -1 < outXSort > lastValX
tail -1 < outZSort > lastValZ
cat vset_y0.txt | grep 'lastValX' > coor_Xmax.txt
cat vset_y0.txt | grep 'lastValZ' > coor_Zmax.txt
#1 
  anatoli888 старожил16.12.10 03:06
NEW 16.12.10 03:06 
в ответ паскуда 14.12.10 18:02
В ответ на:

#!/bin/sh
cat vset_X.txt | colrm 1 10 > outX
cat vset_Z.txt | colrm 1 10 > outZ
tr ' ' '\n' < outX | sort -n > outXSort
tr ' ' '\n' < outZ | sort -n > outZSort
tail -1 < outXSort > lastValX
tail -1 < outZSort > lastValZ
cat vset_y0.txt | grep -f lastValX > coor_Xmax.txt
cat vset_y0.txt | grep -f lastValZ > coor_Zmax.txt

можно еще примерно так.
В ответ на:

#!/bin/bash
for i in "X Z"
do
echo > coor_${i}max.txt
for j in $(cat vset_${i}.txt | colrm 1 10 | tr ' ' '\n' | sort -n | tail -1)
do
grep ${j} vset_y0.txt >> coor_${i}max.txt
done
done

или так
В ответ на:

#!/bin/sh
cat vset_X.txt | colrm 1 10 | tr ' ' '\n' | sort -n | tail -1 > lastValX
cat vset_Z.txt | colrm 1 10 | tr ' ' '\n' | sort -n | tail -1 > lastValZ
grep -f lastValX vset_y0.txt > coor_Xmax.txt
grep -f lastValZ vset_y0.txt > coor_Zmax.txt

единственное замечание по поводу этой конструкции. если тебе нужно полное соответсвие строк, то стоит использовать grep -х -f bla.txt gesucht_in_bla.txt
т.е. если у тебя в lastValX будет присутствовать строка к примеру "foo" то будут находится следующие примерные строки в vset_y0.txt: "foo" "foobar" "barfoo" "barfoobar" и.т.п. при использовании же -х будет искаться строка которая называется "foo", а все остальные варианты не будут совпадать. тебе видней короче.
#2