-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
29 changed files
with
713 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
# Это репозиторий, содержащий в себе работы для финального задания курса Проектно-технологическая практика (знакомство с Linux) кафедры ИУ7 МГТУ им. Баумана | ||
|
||
## Здесь можно найти | ||
|
||
- Компараторы | ||
|
||
Всё \(: | ||
|
||
## Примечание | ||
|
||
Раньше здесь была мораль про то, что надо разбираться в коде, а не просто копировать, но теперь здесь просьба воткнуть звёздочку, если что-то отсюда вам помогло |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,91 @@ | ||
#!/bin/bash | ||
|
||
if [ \( -z "$1" \) -o \( -z "$2" \) ]; then | ||
echo Ошибка: Введите имена двух файлов в качестве первого и второго аргумента! >&2 | ||
exit 42 | ||
fi | ||
if [ ! -f $1 ]; then | ||
if [[ "$3" == "-v" ]]; then | ||
echo Ошибка: файл 1 не найден! | ||
fi | ||
exit 42 | ||
fi | ||
if [ ! -f $2 ]; then | ||
if [[ "$3" == "-v" ]]; then | ||
echo Ошибка: файл 2 не найден! | ||
fi | ||
exit 42 | ||
fi | ||
if [ ! -r $1 ]; then | ||
if [[ "$3" == "-v" ]]; then | ||
echo Ошибка: недостаточно прав для доступа к файлу 1! | ||
fi | ||
exit 42 | ||
fi | ||
if [ ! -r $2 ]; then | ||
if [[ "$3" == "-v" ]]; then | ||
echo Ошибка: недостаточно прав для доступа к файлу 2! | ||
fi | ||
exit 42 | ||
fi | ||
|
||
flag="" | ||
|
||
tmp1=$(mktemp) | ||
FIN=false | ||
until $FIN; do | ||
read -r line || FIN=true | ||
if [ -z $flag ]; then | ||
if [[ "$line" == *"string:"* ]]; then | ||
flag="true" | ||
echo "$line" | grep -Eo "string:.*" >"$tmp1" | ||
fi | ||
else | ||
echo "$line" >>"$tmp1" | ||
fi | ||
done <"$1" | ||
|
||
if [ -z $flag ]; then | ||
if [[ "$3" == "-v" ]]; then | ||
echo Ошибка! В первом файле не найдено подстроки \"string:\" | ||
fi | ||
|
||
exit 42 | ||
fi | ||
|
||
flag="" | ||
|
||
tmp2=$(mktemp) | ||
FIN=false | ||
until $FIN; do | ||
read -r line || FIN=true | ||
if [ -z $flag ]; then | ||
if [[ "$line" == *"string:"* ]]; then | ||
flag="true" | ||
echo "$line" | grep -Eo "string:.*" >"$tmp2" | ||
fi | ||
else | ||
echo "$line" >>"$tmp2" | ||
fi | ||
done <"$2" | ||
|
||
if [ -z $flag ]; then | ||
if [[ "$3" == "-v" ]]; then | ||
echo Ошибка! Во втором файле не найдено подстроки \"string:\" | ||
fi | ||
|
||
exit 42 | ||
fi | ||
|
||
|
||
if cmp -s $tmp1 $tmp2; then | ||
if [[ "$3" == "-v" ]]; then | ||
echo Файлы одинаковые | ||
fi | ||
exit 0 | ||
else | ||
if [[ "$3" == "-v" ]]; then | ||
echo Файлы разные | ||
fi | ||
exit 1 | ||
fi |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,129 @@ | ||
#!/bin/bash | ||
|
||
echo Вариант 2 - сравнение файлов после вхождения подстроки \"string:\" | ||
# echo Тестровочные файлы: | ||
# echo | ||
|
||
echo Работа скрипта будет произведена с флагом -v | ||
echo После каждого теста будет выводиться значение переменной \$? | ||
echo Нажмите Enter, чтобы начать | ||
read | ||
|
||
clear | ||
echo Тест 1 - базовая работа программы - файлы совпадают | ||
echo Файл 1: | ||
cat "./tests/text1.txt" | ||
echo | ||
echo Файл 2: | ||
cat "./tests/text2.txt" | ||
echo | ||
|
||
bash ./comparator2.sh "./tests/text1.txt" "./tests/text2.txt" -v | ||
echo Код выхода: "$?" | ||
echo | ||
echo Нажмите Enter, чтобы продолжить | ||
read | ||
|
||
clear | ||
echo Тест 2 - первого файла не существует \(аналогично для файла 2\) | ||
echo | ||
bash ./comparator2.sh "./tests/unexisting_stuff.txt" "./tests/text2.txt" -v | ||
echo Код выхода: "$?" | ||
echo | ||
echo Нажмите Enter, чтобы продолжить | ||
read | ||
|
||
clear | ||
echo Тест 3 - файлы разные | ||
echo Файл 1: | ||
cat "./tests/text1.txt" | ||
echo | ||
echo Файл 2: | ||
cat "./tests/text3.txt" | ||
echo | ||
|
||
bash ./comparator2.sh "./tests/text1.txt" "./tests/text3.txt" -v | ||
echo Код выхода: "$?" | ||
echo | ||
echo Нажмите Enter, чтобы продолжить | ||
read | ||
|
||
clear | ||
echo Тест 4 - отличие до подстроки \"string:\" | ||
echo Файл 1: | ||
cat "./tests/text1.txt" | ||
echo | ||
echo Файл 2: | ||
cat "./tests/text4.txt" | ||
echo | ||
|
||
bash ./comparator2.sh "./tests/text1.txt" "./tests/text4.txt" -v | ||
echo Код выхода: "$?" | ||
echo | ||
echo Нажмите Enter, чтобы продолжить | ||
read | ||
|
||
clear | ||
echo Тест 5 - во втором файле нет подстроки \"string:\" \(аналогично для первого\) | ||
echo Файл 1: | ||
cat "./tests/text1.txt" | ||
echo | ||
echo Файл 2: | ||
cat "./tests/text5.txt" | ||
echo | ||
|
||
bash ./comparator2.sh "./tests/text1.txt" "./tests/text5.txt" -v | ||
echo Код выхода: "$?" | ||
echo | ||
echo Нажмите Enter, чтобы продолжить | ||
read | ||
|
||
clear | ||
echo Тест 6 - отличие в количестве пробельных символов | ||
echo Файл 1: | ||
cat "./tests/text1.txt" | ||
echo | ||
echo Файл 2: | ||
cat "./tests/text6.txt" | ||
echo | ||
|
||
bash ./comparator2.sh "./tests/text1.txt" "./tests/text6.txt" -v | ||
echo Код выхода: "$?" | ||
echo | ||
echo Нажмите Enter, чтобы продолжить | ||
read | ||
|
||
clear | ||
echo Тест 7 - Подстрока \"string:\" в конце строки | ||
echo Файл 1: | ||
cat "./tests/text7.txt" | ||
echo | ||
echo Файл 2: | ||
cat "./tests/text7.txt" | ||
echo | ||
|
||
bash ./comparator2.sh "./tests/text7.txt" "./tests/text7.txt" -v | ||
echo Код выхода: "$?" | ||
echo | ||
echo Нажмите Enter, чтобы продолжить | ||
read | ||
|
||
clear | ||
echo Тест 8 - Подстрока \"string:\" в конце файла | ||
echo Файл 1: | ||
cat "./tests/text8.txt" | ||
echo | ||
echo Файл 2: | ||
cat "./tests/text8.txt" | ||
echo | ||
|
||
bash ./comparator2.sh "./tests/text8.txt" "./tests/text8.txt" -v | ||
echo Код выхода: "$?" | ||
echo | ||
echo Нажмите Enter, чтобы продолжить | ||
read | ||
|
||
clear | ||
echo Тестирование варианта 2 завершено. | ||
echo Нажмите Enter, чтобы выйти | ||
read |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
Lorem ipstring:sum dolor | ||
sit amet |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
Lorem ipstring:sum dolor | ||
sit amet |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
Lorem ipstring:sum dolor | ||
sit amet consectetur |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
DoLorem ipstring:sum dolor | ||
sit amet |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
Lorem ipsum dolor | ||
sit amet |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
Lorem ipstring:sum dolor | ||
sit amet |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
Lorem ipsum dolor string: | ||
sit amet |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
Lorem ipsum dolor | ||
sit amet | ||
string: |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,91 @@ | ||
#!/bin/bash | ||
|
||
if [ \( -z "$1" \) -o \( -z "$2" \) ]; then | ||
echo Ошибка: Введите имена двух файлов в качестве первого и второго аргумента! >&2 | ||
exit 42 | ||
fi | ||
if [ ! -f $1 ]; then | ||
if [[ "$3" == "-v" ]]; then | ||
echo Ошибка: файл 1 не найден! | ||
fi | ||
exit 42 | ||
fi | ||
if [ ! -f $2 ]; then | ||
if [[ "$3" == "-v" ]]; then | ||
echo Ошибка: файл 2 не найден! | ||
fi | ||
exit 42 | ||
fi | ||
if [ ! -r $1 ]; then | ||
if [[ "$3" == "-v" ]]; then | ||
echo Ошибка: недостаточно прав для доступа к файлу 1! | ||
fi | ||
exit 42 | ||
fi | ||
if [ ! -r $2 ]; then | ||
if [[ "$3" == "-v" ]]; then | ||
echo Ошибка: недостаточно прав для доступа к файлу 2! | ||
fi | ||
exit 42 | ||
fi | ||
|
||
tmp1=$(mktemp) | ||
|
||
FLAG="" | ||
FIN=false | ||
until $FIN; do | ||
read line || FIN=true | ||
for word in $line; do | ||
if [[ "$word" =~ ^[+-]?[0-9]+(\.[0-9]+)?$ ]]; then | ||
FLAG="true" | ||
echo $word >>$tmp1 | ||
fi | ||
done | ||
done <$1 | ||
|
||
if [ -z "$FLAG" ]; then | ||
if [[ "$3" == "-v" ]]; then | ||
echo Ошибка: В файле 1 нет ЧПТ! | ||
fi | ||
|
||
exit 42 | ||
fi | ||
|
||
tmp2=$(mktemp) | ||
|
||
FLAG="" | ||
FIN=false | ||
until $FIN; do | ||
read line || FIN=true | ||
for word in $line; do | ||
if [[ "$word" =~ ^[+-]?[0-9]+(\.[0-9]+)?$ ]]; then | ||
FLAG="true" | ||
echo $word >>$tmp2 | ||
fi | ||
done | ||
done <$2 | ||
|
||
if [ -z "$FLAG" ]; then | ||
if [[ "$3" == "-v" ]]; then | ||
echo Ошибка: В файле 2 нет ЧПТ! | ||
fi | ||
|
||
exit 42 | ||
fi | ||
|
||
|
||
|
||
# echo $numbers_in_text1 | ||
# echo $numbers_in_text2 | ||
|
||
if cmp -s $tmp1 $tmp2; then | ||
if [[ "$3" == "-v" ]]; then | ||
echo Файлы одинаковые | ||
fi | ||
exit 0 | ||
else | ||
if [[ "$3" == "-v" ]]; then | ||
echo Файлы разные | ||
fi | ||
exit 1 | ||
fi |
Oops, something went wrong.