Я написал этот код:
1 #!/bin/tcsh
2
3 set myFiles = `ls`
4 set i = 1;
5 echo "argc is $#argv"
6 while ($i <= $#argv)
7 $myFiles = `echo $myFiles | tr "$argv[$i]" " "`
8 echo "argv now is $argv[$i]"
9 echo "my files are : $myFiles"
10 @ i++;
11 end
12 echo "my files post proccess are $myFiles"
13 foreach name ($myFiles)
14 set temp = `cat $name`
15 echo "temp is : $temp"
16 unset temp
17 end
Эта часть должна получить список имен файлов в текущей папке и распечатать содержимое файлов, которые не указаны IE: в папке есть файлы: A B C D E, а ввод: A B C, поэтому содержимое D E будет напечатано.
теперь логика верна, но у меня есть некоторые синтаксические проблемы в отношении строки 7 (tr). Я также пробовал с sed, но по какой-то причине я получаю «отказано в доступе» к консоли, и Я действительно не знаю, как это исправить.
Таким образом, помощь, которая мне нужна, на самом деле является синтаксической в отношении назначения переменной с выводом команд, а также включения других переменных в эти команды.
Надеюсь, что все в порядке..
БЛАГОДАРНОСТЬ !
set
в этой строке. Также вы не ставите знак доллара при назначении переменной -$
означает интерполяцию. - person tripleee   schedule 26.01.2015