Самый легкий путь состоит в том, чтобы переустановить пакет, содержащий файл, который Вы случайно удалили. Я объясню, как сделать это из командной строки, на использовании дистрибутивов Debian упаковочные инструменты (Debian, Ubuntu, Монетный двор, …). При использовании управления пакетом GUI это может иметь эквивалентные команды. Все команды, упомянутые здесь, за исключением тех, которые только отображают информацию и не изменяют систему, должны быть выполнены как корень (т.е. помещены sudo
впереди или выполненный их в корневой оболочке).
Во-первых, узнайте, какой пакет содержит файл. Можно использовать команду dpkg -S /usr/bin/php5
для этого. Здесь, (соответствующий) результат php5-cli
. Здесь существует тонкость: этот пакет содержит /usr/bin/php5
, нет /usr/bin/php
; пакет создает символьную ссылку /usr/bin/php
который указывает косвенно на /usr/bin/php5
на установку.
Если Вы отсутствуете /usr/bin/php5
, переустановите php5-cli
пакет. На командной строке использовать apt-get --reinstall install
или aptitude reinstall
вызвать переустановку, даже если пакет отмечен как актуальный.
Если Вы отсутствуете /usr/bin/php
, воссоздайте символьную ссылку. Можно сделать это вручную: ln -s /etc/alternatives/php /usr/bin/php
. При переустановке пакета как выше это воссоздаст символьную ссылку.
Если Вы отсутствуете /etc/alternatives/php
, выполненный update-alternatives --auto php
(или выполненный update-alternatives --config php
и выберите php5
в списке).
Сводка:
dpkg -S /usr/bin/php
sudo apt-get --reinstall reinstall php5-cli
sudo update-alternatives --auto php
Это awk
onliner получает Вас очень близко к желаемому выводу (по крайней мере, числа корректны).
awk '{n=0} $2==$4 {n=n+1} $2==$5 {n=n+1} $3==$4 {n=n+1} $3==$5 {n=n+1} {print $0, n}' inputfile
Основной awk
используется здесь. Строка между кавычками выполняется для каждой строки, в то время как блок между скобками только выполняется, когда оператор перед ним верен. $i
обращается к i-th столбцу.
Другой awk
ответ, базовая часть - то же. Это - awk сценарий, и более читаемый
#!/bin/awk -f
BEGIN{ print "Item A B C D Output"}
{
count=0;
if($2==$4) count+=1;
if($2==$5) count+=1;
if($3==$4) count+=1;
if($3==$5) count+=1;
if(NR != 1)
print $1 "\t" $2 "\t" $3 "\t" $4 "\t" $5 "\t" count
}
END{} #Done
$2==$4 {n=n+1} $2==$5 {n=n+1}
кому:$2==$4 || $2==$5 {n++}
, и слияние$3==$4 {n=n+1} $3==$5 {n=n+1}
кому:$3==$4 || $3==$5 {n++}
– LiuYan 刘研 18.02.2013, 10:35