【发布时间】:2014-07-04 08:35:13
【问题描述】:
我们一直在尝试让脚本在 tcsh 中工作(我知道大多数地方都说不应该使用它,但我认为我别无选择)。
脚本应该接受一个包含列的文件并删除相同的行,但添加其中的行数。我们是 tsch 的新手,在语法正确时遇到了麻烦。对于不同的 shell,似乎存在所有相似但仍然不同的语法,这更加令人困惑。
似乎有些东西没有按应有的方式关闭,但我们尝试了 fi、endif、done 和 end for if 和 while 循环的任何组合。删除 if 情况并不能解决问题,也不能删除 while 循环之外的内容。问题可能是我们如何使用阅读?
awk '{print $1,$3}' raw_data|
awk -v OFS=' -> ' '{$1=$1};1'| sort -k 3 > collapsed_output.txt
number=0
lastline=0
while ( read -r collapsed_output.txt )
do
line = $line
if ( line == lastline )
then
number=number+1
else if( number != 0 )
then sed -i 'ls/^/lastline + ["label =" number] \n/' numbered_data.txt
number=1
lastline = line
else
number = 1
lastline = line
fi
done
sed -i 'ls/^/lastline + ["label =" number] \n/' numbered_data.txt
sed -i '1s/^/digraph finite_state_machine {\n/' numbered_data.txt
sed -i '$ a\'"}" numbered_data.txt
【问题讨论】: