Мой файл состоит из следующего; грубо:
username:username:username:username:username
Выше строка продолжается до 600 символов.
Я использую awk
команду, чтобы использовать ее в качестве аргумента в запросе API / HTTP, отправляемом из командной строки.
Я использую свой сценарий, чтобы получить список учетных записей пользователей, которые следуют за мной, и примерно каждые 24 часа, сравнивая исходный список на моем жестком диске со вновь выведенным списком имен пользователей (и выявляя, кто больше не следует за мной) мне . Мне придется заключить мою логику в цикл, используя bash .. проверяя каждое имя пользователя.
Мой текущий скрипт:
user=$(awk -F: '{ print $1 }' FILE) # Grab $User to use as an argument.
following=$(exec CURRENT_FOLLOWERS) # Outputs the new file
echo "X amount of users are following you on 78B066B87AF16A412556458AC85EFEF66155"
SAVE CURRENT FOLLOWERS TO NEW A FILE.
if [[ DIFFERENCE IS DETECTED ]] ; then
echo -ne "$User NO LONGER FOLLOWING YOU\r"
else echo -ne "This user is following you still.\r"
fi
Мой вопрос
Как вывести разницу между двумя файлами?
diff
, верно?Ответы:
Полезность вы ищете это
diff
. Взгляните на руководство для деталей.источник
Даны два файла, содержащие несортированные списки пользователей, например
и
затем, чтобы получить простой список пользователей,
file1
но не вfile2
, вы можете сделатьи так же, чтобы получить пользователей,
file2
но не вfile1
Если файлы списка уже отсортированы, их можно упростить до
comm -23 file1 file2
иcomm -13 file1 file2
соответственно.источник
comm
без сортировки? Мой текстовый файл имеет такие значения , как1
,2
,01
,02
,0000
,0001
,0002
и т.д. Использованиеsort
деактивирует рода порядок ...Лучшая команда для просмотра разницы в содержании файлов будет
источник
diff [options] from-file to-file
diff
сравнивает содержимое двух файлов from-file и to-file. Вы можете указать-i
опцию, которая игнорирует изменения в регистре; считать буквы в верхнем и нижнем регистре эквивалентными.Для получения дополнительной информации вы можете обратиться по этой ссылке: http://www.computerhope.com/unix/udiff.htm или вы можете взглянуть на страницу руководства.
источник
Вы можете попробовать те же окна, как
fc
команда в Unix и Linux, т.е.diff <file_new> <file_old>
команда.Линия с
+++
или---
перед ними изменилась, а одна без+'s
и-'s
не измениласьСтроки со
-
знаком удаляются из нового файла, однако они существовали в старой версииСтроки со
+
знаком добавляются из нового файла, однако их не было в старой версии файла.Нотация Linux
Linux использует
>
и<
>
означает строку из старого файла<
означает строку из нового файла, которая изменяется в старом файлеисточник
Выберите vimdiff для отображения различий между двумя, тремя или четырьмя версиями одного и того же файла.
источник