Инструмент сравнения командной строки

find -maxdepth 1 -type ['d' for directory or 'f'for file] | ls -t | head -1 .. 

Это должно сработать.

5
06.02.2019, 08:25
1 ответ

Боюсь, что этот ответ вас не удовлетворит, но я думаю, что вы ставите противоречивые ограничения.

О разнице

Но сначала я должен защитить классический инструмент diff. :Его основная цель — генерировать программные исправления, которые должны обрабатываться машинами по приложению. Кроме того, эти исправления спроектированы так, чтобы быть как можно более компактными и в идеале использовать только символы ASCII, чтобы их можно было быстро и надежно рассылать по -электронной почте, Usenet и т. д.

То, что эти патчи могут быть прочитаны людьми (и поняты некоторыми людьми ), также является важным свойством, но не высшим приоритетом.

Ваш вопрос

Я полностью понимаю и разделяю ваше стремление к простым и элементарным инструментам командной строки, но параллельное сравнение, возможно, с выделением цветом, не является ни простым, ни тем, что мы можем ожидать от реального инструмента командной строки., просто потому, что он больше не ориентирован на строку.

Далее идут инструменты на основе Vi или Emacs, которые максимально просты и понятны для восприятия человеком, но в то же время очень гибки. Они также предлагают мощные возможности слияния.

Из тех, что vimdiffуже упоминалось в комментариях .

Что касается Emacs, сравнение файлов обычно запускается из редактора. Наиболее часто используемым инструментом для этого является Ediff, который предлагает множество точек входа, соответствующих различным потребностям :сравнение двух файлов, файлов-деревьев, один из которых рассматривается как общий предок, и так далее. То же самое с возможными слияниями.

Хоть и необычно,Я настроил доступ к Ediff из командной строки :Если вы запускаете Emacs с помощью

emacs FILE1 FILE2 -nw --eval "(apply 'ediff-buffers (last (nreverse (buffer-list)) 2))"

, затем вы переходите непосредственно в интерактивный сеанс Ediff, который сравнивает FILE1и FILE2в вашем терминале. Если вы опустите опцию -nw(и все требования будут выполнены ), вы получите тот же сеанс в отдельном графическом фрейме. См. также этот связанный вопрос от ashutosh jain.

Ладно, я бы не стал так далеко называть Emacs простым инструментом. Но если вы изучите его досконально в течение нескольких лет, он вам понравится. (Личное мнение.)

Итак, к сожалению, :я не знаю ни одного инструмента, отвечающего всем вашим ограничениям.

2
27.01.2020, 20:42

Теги

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