В sh совместимых шелах есть такая возможность создавать файлы пустого размера или обнулять существующие:
# если файла tmp.txt не существовало, создается файл нулевого размера
sh% ~/ > tmp.txt
sh% ~/ ls -l tmp.txt
-rw-rw-r-- 1 ramok ramok 0 2007-06-09 11:33 tmp.txt
# если файл tmp.txt существовал, то файл обнуляется
sh% ~/ echo 123 > tmp.txt
sh% ~/ ls -l tmp.txt
-rw-rw-r-- 1 ramok ramok 4 2007-06-09 11:33 tmp.txt
sh% ~/ > tmp.txt
sh% ~/ ls -l tmp.txt
-rw-rw-r-- 1 ramok ramok 0 2007-06-09 11:33 tmp.txt
В zsh это идея, как всегда, более развита Ж:-)
Существуют переменные окружения NULLCMD и READNULLCMD,
по умолчанию установленные в cat и more соответственно.
Что позволяет такие дополнительные возможности:
# аналог cat > tmp.txt. ничего не вводим, сразу жмем ctrl-d
# получаем файл нулевого размера.
ramok@~/ > tmp.txt
^D
ramok@~/ ls -l tmp.txt
-rw-rw-r-- 1 ramok ramok 0 2007-06-09 11:33 tmp.txt
# аналог cat > tmp.txt. вводим то что нужно внести в файл и жмем ctrl-d
ramok@~/ > tmp.txt
123
^D
ramok@~/ ls -l tmp.txt
-rw-rw-r-- 1 ramok ramok 4 2007-06-09 11:33 tmp.txt
# аналог cat >> tmp.txt. вводим то что нужно добавить в файл и жмем ctrl-d
ramok@~/ >> tmp.txt
456
^D
ramok@~/ ls -l tmp.txt
-rw-rw-r-- 1 ramok ramok 8 2007-06-09 11:33 tmp.txt
# аналог more < tmp.txt
ramok@~/ < tmp.txt
123
456
Естественно можно установить NULLCMD и READNULLCMD в свои значения, например в
true и less соответственно. Или придумать что-нибудь лучшее Ж:-)
PS
и кой чего в нагрузку Ж:-)
в шеллах есть встроенная команда :, аналог команда true, которую тоже
можно использовать для создания/обнуления файлов более коротким способом,
чем echo -n > файл:
ramok@~/ :> tmp.txt
ramok@~/ ls -l tmp.txt
-rw-rw-r-- 1 ramok ramok 0 2007-06-09 11:33 tmp.txt
Последние комментарии
5 часов 9 минут назад
5 часов 53 минуты назад
5 часов 57 минут назад
6 часов 22 минуты назад
7 часов 5 минут назад
7 часов 36 минут назад
7 часов 41 минута назад
1 день 3 часа назад
2 дня 6 часов назад
2 дня 16 часов назад