Другой альтернативой является ex
, предшественник vi
. На самом деле это наиболее предпочтительный инструмент POSIX для редактирования файлов на месте по сценариям; он чрезвычайно гибок, чем sed -i
, и, возможно, даже более переносим, чем Perl. (Если вы остаетесь вне мира Windows, он бесспорно более переносим, чем Perl.)
В этом стеке обмена примерами команд, использующих ex
, относительно мало, по крайней мере, по сравнению с множеством примеров команд, использующих sed
, awk
и Perl. Однако я сам подробно изучил спецификации POSIX для ex
и с тех пор бью по барабану.Я написал много ответов, используя ex
как здесь, так и в стеке vi / Vim:
Дополнительная литература:
вы можете просто использовать оператор -L
.
user@debian:~$ touch file
user@debian:~$ ln -s file link
user@debian:~$ ls -l
total 8
-rw-r--r-- 1 user user 0 avril 8 12:01 file
lrwxrwxrwx 1 user user 4 avril 8 12:01 link -> file
user@debian:~$ if [[ -L file ]]; then echo "it's a link"; fi
user@debian:~$ if [[ -L link ]]; then echo "it's a link"; fi
it's a link