nixp.ru v3.0

21 января 2017,
суббота,
03:11:01 MSK

DevOps с компанией «Флант»
danja701 написал 28 сентября 2012 года в 10:24 (681 просмотр) Ведет себя неопределенно; открыл 1 тему в форуме, оставил 1 комментарий на сайте.

Всем привет!

Я студентка, учусь на программиста и в данный момент углубленно учу Юникс. Есть пару вопросов которые ну ни как не могу решить (да, я нуб!).

Если не трудно, помогите хотя бы с пару вопросами!

Заранее спасибо :)

Вопросы. Их все надо написатьэто однойстрокой илиоднойкомандой.:

1) Как создать файл endless.txt, в котором находится рандомное число, используя при этом переменную $RANDOM?

Не понимаю, как вообще сделать файл чтобы В НЕМ что-то находилось. (поделитесь, знаю ведь что не сложно, но не нашла ответ перерыв вcе рус. и англ. ресурсы)

2) Нужно ввести в файл joy.txt всю инфу с домашней директории (нахожусь на $HOME)+ всю инфу надо сортировать по времени.

3) Все маленькие буквы с файла go.txt перевести в большие и добавить у файлу finish.txt

 

Маленькие вопросы:

4) Сосчитать сколько рядов находится в go.txt и добавить эту инфу в файл finish.txt.

5) Сосчитать сколько слов находится в файле go.txt и добавить эту информацию в файл   finish.txt

6) Сосчитать сколько символов находятся в файле go.txt и добавить эту информацию в файл   finish.txt

7) Все буквы d из файла go.txt поменять на букву b  и сохранить в файле new123.txt

Заранее большущее спасибо!

fhunter

1) например просто перенаправив в этот файл вывод какой либо команды.

echo "какая-нибудь фигня" > some_strange_file.txt 


Это перезапишет файл и запишет в неё строку «какая-нибудь фигня», без кавычек. >> — допишет что-либо в конец файла.

Соответственно для случайного числа будет:

echo $RANDOM > endless.txt 


 

2) man ls, man sort. ( www.opennet.ru/man.shtml?topic=ls&category=1&russian=0 www.opennet.ru/man.shtml?topic=sort&category=1&russian=0)

3) sed/или лучше команда tr ( www.opennet.ru/man.shtml?topic=tr&category=8&russian=0 www.opennet.ru/man.shtml?topic=sed&category=1&russian=0)

 

4) man wc (если имелись в виду строки) ( www.opennet.ru/man.shtml?topic=wc&category=1&russian=0 )

5) аналогично, только с другим ключем

6) аналогично

7)

sed 's/d/b/g' < go.txt > new123.txt 


Здесь я даю команду — sed, и ей отдаю такой скрипт:

s — search and replace

/что/на что/

g — во всей строке, а не только первое вхождение.

PS. Готовых решений, кроме как на вопрос 7, так как для новичкая явно не тривиален, не даю из принципа, потому как задачи — явная лабораторная работа :). Когда говорю man <что-то> — предлагаю почитать документацию на соответствующую команду.

PPS. Да простят меня пуристы, но рекомендую почитать Advanced Bash-Scripting Guide или что-то подобное… tldp.org/LDP/abs/html/

danja701

Просто огромнейшее спасибо!

Вы даже не представляете, как вы меня выручили! :)

rgo

7) можно сделать ещё при помощи tr

fhunter

Это я оставлю как упражнение автору первого поста :)

pavel.dolinin

1.

echo $RANDOM > endless.txt


2. Если речь идет не о информации, а о списке файлов и каталогов (сортировка по времени последнего изменения t последние будут внизу r)

ls -ltr $HOME > joy.txt


3.

cat go.txt | tr '[:lower:]' '[:upper:]'


4. Если речь идет о строках

cat go.txt | wc -l >> finish.sh


5.

cat go.txt | wc -w >> finish.sh


6.

cat go.txt | wc -m >> finish.sh


7.

cat go.txt | sed 'sd/b/g' > new123.txt


 

fhunter
pavel.dolinin
cat go.txt | tr '[:lower:]' '[:upper:]'

4. Если речь идет о строках
cat go.txt | wc -l >> finish.sh

5.
cat go.txt | wc -w >> finish.sh

6.
cat go.txt | wc -m >> finish.sh

7.
cat go.txt | sed 'sd/b/g' > new123.txt

 

Вы только что выиграли в номинации «Most Useless use of Cat». Кошки Ултара за вами уже выехали.

pavel.dolinin

Таки да ;-)

ecobeingecobeing.ru
Экология и вегетарианство на благо всем живым существам Планеты.