#linux #string #bash #shell #for-loop
#линукс #строка #удар #ракушка #для-петли
Вопрос:
У меня есть 2
файлы File1, and File2
. File1
это список strings
, line1 contain string1
, line2 contains strings2 and so on
. Я хотел бы выбрать string1
из File1
них и сравнить с File 2
ними . Затем я выбираю string2
и сравниваю его с File2
. Скрипт не знает, сколько в нем строк File1 and Fil2
. Как только все строки из File1 are compared with File2,
скрипта должны выдать alarm/pop up window
со списком strings
совпадений File2
.
Комментарии:
1. Вы ищете решение в bash? или любой язык программирования. все в порядке?
2. сатвик чоудхари, да баш линукс. не могли бы вы, пожалуйста, проводить меня
3. Обязательно ли это должен быть
for
цикл (или любой другой цикл) конкретно? Потому что то, о чем вы просите, — это заданное пересечение, то есть линии, которые находятся как вFile1
иFile2
. Это можно сделать с помощью одногоgrep
sort
или нескольких других.4. Что вы пробовали до сих пор?
5. Разделяй и властвуй. Начните с чтения цикла
File1
, а затем добавьте другие материалы.
Ответ №1:
Я не понимаю, что вы подразумеваете под всплывающим окном / окном. Также будет лучше использовать что-то вроде grep. Основываясь на требовании, вот что я придумал.
// abc.txt abcd ab cd abc // def.txt dfd abc ab abcd file1=() file2=() filename1="abc.txt" filename2="def.txt" while read -r line; do name="$line" file1 =("$name") done lt; "$filename1" while read -r line; do name="$line" file2 =("$name") done lt; "$filename2" for i in "${file2[@]}" do for j in "${file1[@]}" do if [ "$i" = "$j" ]; then echo "Match found $i" break fi done done
Комментарии:
1. @sarvik .о всплывающем окне, означающем, что после выполнения сценария я должен получить alaram со списком совпадающих строк. как я могу получить сигнал тревоги после запуска сценария?
2. В Ubuntu, заменив echo «Совпадение найдено $i» на notify-send «$i», вы получите приятное уведомление на рабочем столе. Не знаю, что вы подразумеваете под тревогой.
3. дает ли ваш код список всех совпадающих строк или отпечатков после каждого совпадения?
4. отпечатки после каждого совпадения. вы можете добавить в список, подобный этому. список =($i) вместо эха «Найдено совпадение $i»