From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Thu, 22 Mar 2001 22:51:14 +0300 (MSK) From: Ivan Zakharyaschev To: Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=koi8-r Content-Transfer-Encoding: 8BIT Subject: [sisyphus] perl -pi & symlinks Sender: sisyphus-admin@linuxteam.iplabs.ru Errors-To: sisyphus-admin@linuxteam.iplabs.ru X-BeenThere: sisyphus@linuxteam.iplabs.ru X-Mailman-Version: 2.0 Precedence: bulk Reply-To: sisyphus@linuxteam.iplabs.ru List-Help: List-Post: List-Subscribe: , List-Id: List-Unsubscribe: , List-Archive: Archived-At: List-Archive: List-Post: Hello! Довольно часто для замены текста по образцу в файле используется perl -pi. Обнаружил неожиданную (для меня) особенность этой команды при работе с символическими ссылками -- вместо ссылки появляется измененная копия. Вот демонстрация: $ MAIN=main LINK=link; touch $MAIN; ln -sf $MAIN $LINK; \ echo a > $LINK; cat $MAIN; ls -l; \ perl -pi -e 's/a/b/' $LINK; cat $MAIN; cat $LINK; ls -l a итого 4 lrwxrwxrwx 1 ivan ivan 4 Мар 22 22:44 link -> main -rw-r--r-- 1 ivan ivan 2 Мар 22 22:44 main a b итого 8 -rw-r--r-- 1 ivan ivan 2 Мар 22 22:44 link -rw-r--r-- 1 ivan ivan 2 Мар 22 22:44 main $ После недолгого чтения документации упоминаний этой особенности не обнаружил. Незнание этого факта может повредить, например, при сборке пакета. Best regards, Ivan.