Сделайте различное Использование Полной Терминальной Шириной в Бок о бок Режиме

Заменять содержание файла с выводом echo (как > оператор перенаправления оболочки).

echo test | sudo dd of=/tmp/foo

Записать в файл (вначале, хотя можно использовать seek производить при различных смещениях), не усекая (как 1<> Оператор оболочки Bourne):

echo test | sudo dd of=/tmp/foo conv=notrunc

Добавлять в файл (как >>), с GNU dd:

echo test | sudo dd of=/tmp/foo oflag=append conv=notrunc

См. также GNU dd conv=excl постараться не ударять существующий файл (как с set -o noclobber в оболочках POSIX) и conv=nocreat для противоположного (только обновляют существующий файл).

41
15.03.2011, 20:17
1 ответ
$ alias diff='diff -W $(( $(tput cols) - 2 ))'

должен сделать это. Вы захотите добавить его к ~/.bashrc также.

- 2 главным образом паранойя, в случае, если что-то (встроенный Unicode двойной ширины?) расширяется достаточно, чтобы заставить строку перенестись; если Вы хотите, можно просто использовать

$ alias diff='diff -W $(tput cols)'
53
27.01.2020, 19:35
  • 1
    , я начал замечать $COLUMNS и думал что-то в том же направлении. исказите разность = "разность-W $ {СТОЛБЦЫ}". Я думаю, что предпочел бы спрашивать оболочку, а не полагаться на среду все же. –  VxJasonxV 16.03.2011, 00:17
  • 2
    tput рассматривает $COLUMNS, stty -a, и терминальное описание, с помощью первого из тех, который имеет значимое значение. eval $(resize) может использоваться, чтобы вынудить их быть в синхронизации с тем, что терминал думает, что его размер. –  geekosaur 16.03.2011, 00:22
  • 3
    это, если у Вас есть нестандартные позиции табуляции (например, tabs 2 в Вашем .bashrc) необходимо будет также использовать флаг-t, или разность произведет очень причудливый выходной глюк –  Jeff 10.11.2015, 03:54

Теги

Похожие вопросы