LINUX.ORG.RU

Сообщения dmanev

 

передача строкового параметра скрипту

Доброго времени суток. Такая ситуация, написал скрипт, который в текущей дир. позволяет искать заданную строку($1) и сохранять где нашел и номера строк в файл(имя файла $2) со строками все прекрасно работает

#!/bin/bash
#$1 последовательсность для поиска
#$2 имя файла результатов

export files=$(ls ./);
files=$(echo -e "$files" | sed "s/num4.sh//");
touch "$2.txt";

for name in $files
do
echo "File name: "$name >> "./$2.txt"
step=$(grep -n -s -i -o "$1" "$name")
# номер строки.под ошибок.игн регистр.поиск только совпавшегокуска
	if [[ -n $step ]]
	then
	step=$(echo "$step" | sed "s%$1%%gi")
	step=$(echo "$step" | sed -E "s%:%;%g" )
#регулярка
	echo "Pattern was finding in line(s) "$step >> "./$2.txt"
	else
	echo "Pattern was not finding" >> "./$2.txt"
	fi
done

echo "Done! U can see results in same sirectory in file: $2.txt"

возникает проблема с выражениями типа: («^

host1@host1-VB:~/Рабочий стол/4.4$ ./num4.sh (*^ result
bash: синтаксическая ошибка рядом с неожиданным маркером «*^»
Добавил кавычки-заработало
host1@host1-VB:~/Рабочий стол/4.4$ ./num4.sh "(*^" result
Done! U can see results in same sirectory in file: result.txt
возникла другая проблема с выражениями типа: 78#@!~?
host1@host1-VB:~/Рабочий стол/4.4$ ./num4.sh "78#@!~?" result
bash: !~?: event not found
Можно как-то отключить в передаче параметров все выражения и воспринимать их только как текст? Поскольку задание говорит, что поиск должен быть абсолютно любой последовательности символов нужно как-то это решить..

Спасибо!

 , ,

dmanev
()

расшифровка TCP-пакета

Собственно, перехвачена сессия передачи данных по протоколу TCP

2 клиента обмениваются строками, нужно это строки вытащить из пакетов

перехват через wireshark

Скрин сессии

«Follow TCP Stream» дает следующие результаты, я так понимаю из-за нестандартной кодировки передаваемого сообщения(ее по заданию тоже надо выяснить) идет проблема с отображением

ASCII HEX Dump UTF-8

В общем, что делать?

 , ,

dmanev
()

локальная сеть на VB

Такая ситуация, VB на нем 3 виртуальные машины

ubuntu, ubuntu, win XP

нужно настроить локальную сеть между ними

в настройках каждой указал для 2го порта «сетевой мост»

в итоге ubuntu между собой прекрасно пингуются, от win XP до обеих ubuntu тоже

а вот с ubuntu до win XP нет.. В чем проблема может быть?

 ,

dmanev
()

всемогущий sed

В общем, проблема: цикл, идет замена в строке через sed, первый шаг- 1.txt находит заменяет, второй шаг- out1.txt не находит. Суть самого задания-нужно из обеих строк удалить все подстроки из переменной $var1.

$fil11 и $fil21 задаются через ls

$var1 получается в результате др цикла

PS пробелы в sed стоят специально, чтобы при поиске 1.txt он не удалил часть подстроки out1.txt

#!/bin/bash
export fil11="1.txt 3com.cpp out1.txt sigusr.cpp"
export fil21="1.txt forkdemo.cpp out1.txt sigint.cpp"
export var1="1.txt out1.txt"

for file in $var1
do
fil11=$(echo -e " $fil11" | sed -s "s/ $file//")
fil21=$(echo -e " $fil21" | sed -s "s/ $file//")
done

echo $fil11
echo $fil21

 , , ,

dmanev
()

RSS подписка на новые темы