Страница 1 из 2
викторина по shell
Добавлено: 2007-11-26 17:50:10
catdog_
предлагаю поиграться, заодно может узнать чего нового : )
типа я начну. один дает задачку, другие решают. например, проверить существует ли файл /etc/motd
решение мб таким
если 0 значит существует, 1 - нет
кто дает ответ, задает свое задание и т.д.
кто согласен?
1 задание: выдрать из текущего пути имя каталога : ) (из /usr/port/distfiles чтобы осталось distfiles)
Re: викторина по shell
Добавлено: 2007-11-26 19:27:46
Alex Keda
вопрос - выдернуть путь из того же имени, без имени файла
Re: викторина по shell
Добавлено: 2007-11-26 19:38:53
catdog_
жесть но пашет %)
строку из нижнего в верхний регистр?
Re: викторина по shell
Добавлено: 2007-11-26 19:45:33
Alex Keda
catdog_ писал(а):жесть но пашет %)
строку из нижнего в верхний регистр?
интересный ответ, но есть иное решение
========
Код: Выделить всё
ussr# echo STROKA | tr "[:upper:]" "[:lower:]"
stroka
ussr#
==============
вопрос - есть файл:
Код: Выделить всё
ussr# more file.txt
stroka 1
stroka 2
stroka 3
stroka 4
sktroka 5
stroka 6
stroka7
ussr# одна команда без конвейеров - выбрал две строки выше 4 и одну ниже + сама 4-я
stroka 2
stroka 3
stroka 4
sktroka 5
ussr#
огласите команду
Re: викторина по shell
Добавлено: 2007-11-26 19:58:45
kmb
как вывести размер файлов, папок в текущей директории?
Re: викторина по shell
Добавлено: 2007-11-26 20:05:51
catdog_
задание вывести числа от 1 до 33 в 3 колонки
Re: викторина по shell
Добавлено: 2007-11-26 20:05:58
Alex Keda
Код: Выделить всё
ussr# grep --after-context=1 --before-context=2 "stroka 4" file.txt
stroka 2
stroka 3
stroka 4
sktroka 5
ussr#
кругом извращенцы...
вы не ответили - лишь подогнали под ситуацию. условие было иное.
===========
du
=========
как изменить дату последнего доступа к файлу?
Re: викторина по shell
Добавлено: 2007-11-26 20:09:52
kmb
Задачу нужно правильно формулировать
))
Тем более, мы же не знаем, что на строке 4 будет
Кстати, не du -sm, не du не показывают чего я просил
первая выводит одно число, вторая выводи вместе с под папками, я же просил что-нибудь типа таблички наподобие df -m
Re: викторина по shell
Добавлено: 2007-11-26 20:11:33
catdog_
лис, можно же по разному ; ) я бы твою решил так (по извращенски)
нада была в задании указать что файло может быть большииим заранее не известно на какой строке стоит нужная: )
Re: викторина по shell
Добавлено: 2007-11-26 20:11:44
Alex Keda
тогда
)
Re: викторина по shell
Добавлено: 2007-11-26 20:13:00
Alex Keda
lissyara писал(а):
Код: Выделить всё
ussr# одна команда без конвейеров - выбрал две строки выше 4 и одну ниже + сама 4-я
помоему - условие чётче некуда..
и твое решение - тоже не катит.
Re: викторина по shell
Добавлено: 2007-11-26 20:47:00
catdog_
как изменить дату последнего доступа к файлу?
touch -t 11262000 file.txt ?
Re: викторина по shell
Добавлено: 2007-11-28 18:01:48
schizoid
а задание?
Re: викторина по shell
Добавлено: 2007-11-28 21:51:37
catdog_
я ж писал выше расположить числа от 1 до 33 в 3 колонки: )
вот так
1 2 3
4 5 6
........
или
1 12 ...
2 13
3 14
...
Re: викторина по shell
Добавлено: 2007-11-29 4:18:10
Гость
Код: Выделить всё
> jot 33 | rs 0 3
1 2 3
4 5 6
7 8 9
10 11 12
13 14 15
16 17 18
19 20 21
22 23 24
25 26 27
28 29 30
31 32 33
> jot 33 | rs -t 0 2
1 18
2 19
3 20
4 21
5 22
6 23
7 24
8 25
9 26
10 27
11 28
12 29
13 30
14 31
15 32
16 33
17
Или нужно именно с 12-ки?
А пока я дам свою задачу:
есть файл
rand.txt:
Код: Выделить всё
rmajjfia
uhfgkljv
skfuycar
gsalaoxy
lypcjesi
rnusfdnn
colaqtkd
xkprutze
gytxmkwv
krtuzrjd
rymtoatl
aotolxid
flcunoqv
shummdhn
uvotcnep
xstkwwls
edtrpqdl
aytnuaxe
tmepzwnh
galhuxgj
Нужно удалить диапазон от
lypcjesi до
uvotcnep включительно
одной командой, не меняя имени файла. Чтоб такую команду можно было скормить
find /path/to/smth -type f -exec <команда> {} +
Re: викторина по shell
Добавлено: 2007-11-29 4:42:26
catdog_
Re: викторина по shell
Добавлено: 2007-11-29 4:57:15
Гость
кое-чего не хватает, т.к. надо удалить в файле, а не считать и вывести отредактированный в stdout
а так, да, сойдет.
Re: викторина по shell
Добавлено: 2007-11-29 17:03:34
catdog_
ну раз сойдет, тогда как подсчитать количество строк в фале без wc?
Re: викторина по shell
Добавлено: 2007-11-29 17:30:48
Гость
но мне все равно интересно отгадаешь ли ты правильный вариант, телепатией владеешь?
ответ на твой вопрос:
sed -n '$='
Re: викторина по shell
Добавлено: 2007-11-29 17:35:04
Гость
вопрос: Как дождаться завершения выполнения определенного задания в асинхронном режиме (что-то типа cmd &)?
Re: викторина по shell
Добавлено: 2007-12-02 13:12:44
RusBiT
Задание
Есть файл вида
ip -
mac
Для примера
Код: Выделить всё
(10.0.6.5) at 00:02:a5:fe:d9:fd
(10.0.6.6) at 00:13:02:4b:a4:04
(10.0.6.7) at 00:04:76:0e:9b:0a
(10.0.6.8) at 00:04:79:67:8e:ec
(10.0.6.23) at 00:04:61:43:ad:88
(10.0.6.28) at 00:0e:a6:95:07:3e
(10.0.6.36) at 00:04:79:67:8e:ec
(10.0.6.39) at 00:0d:87:cf:13:be
(10.0.6.42) a 00:04:79:67:8e:ec
(10.0.6.66) at 00:13:8f:ab:bc:c7
(10.0.6.72) at 00:0e:a6:95:07:3e
(10.0.6.75) at 00:04:79:67:8e:ec
(10.0.6.76) at 00:80:48:38:e8:4f
(10.0.6.81) at 00:0f:ea:33:f8:df
(10.0.6.100) at 00:80:48:19:63:f5
(10.0.6.103) at 00:0e:a6:95:07:3e
Нужно определить какой mac занимал какие ip
Re: викторина по shell
Добавлено: 2007-12-02 13:14:45
dikens3
cat file | grep "00:00:00:00:00:00" | awk '{print $1}'
Re: викторина по shell
Добавлено: 2007-12-02 17:23:17
RusBiT
dikens3 писал(а):cat file | grep "00:00:00:00:00:00" | awk '{print $1}'
Имел ввиду чтоб автоматически определялся
по маку, есть подмена или нет
Re: викторина по shell
Добавлено: 2007-12-02 20:00:24
Гость
Код: Выделить всё
> sh test.sh test.data
00:04:79:67:8e:ec in test.data contains:
10.0.6.8
10.0.6.36
10.0.6.42
10.0.6.75
00:0e:a6:95:07:3e in test.data contains:
10.0.6.28
10.0.6.72
10.0.6.103
> cat test.sh
for file; {
for mac_addr in $(sed 's/([.[:digit:]]*)[[:space:]]*at[[:space:]]*\([:[:alnum:]]*\)/\1/' "$file" | sort -d | uniq -d); {
echo $mac_addr in $file contains:
sed -n "/$mac_addr/{ s/.*(\([.[:digit:]]*\)).*/\1/; p; }" $file
}
}
Так? Подозреваю, что можно обойтись чистым awk, где счетчик будет в основном скрипте, а вывод в END части.
Re: викторина по shell
Добавлено: 2007-12-03 3:46:15
catdog_
Гость, на предыдущий то свой вопрос ответь, а то никто видима не знает: )