LINUX.ORG.RU

Сообщения alex2020

 

Проблемы при установке Rust в Ubuntu 18.04, Ubuntu 20.04

Форум — General

Получаю такую ошибку:

$ cargo build --release
error: could not find `Cargo.toml` in `/home/alex` or any parent directory

$ .cargo/bin/cargo build --release
error: could not find `Cargo.toml` in `/home/alex` or any parent directory

Устанавливал по инструкции: https://github.com/alacritty/alacritty/blob/master/INSTALL.md

По пунктам:

$ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
$ rustup override set stable
$ rustup update stable
$ sudo apt-get install cmake pkg-config libfreetype6-dev libfontconfig1-dev libxcb-xfixes0-dev python3
$ sudo apt install cargo

К сожалению, не сильно разбираюсь. Я так понимаю в Cargo.toml должны быть какие-то параметры для корректной работы cargo? Где их брать? Как сделать правильно, чтобы cargo заработал?

Спасибо!

 ,

alex2020
()

Использование grep в циклах

Форум — General

Здравствуйте!

Подскажите, пожалуйста.

Задача следующая:

Есть 2 файла

$ cat emails
masyuk_aa@mail.ru
derector@mail.ru
saharova@mail.ru
kulekov@mail.ru
kusnetsova@mail.ru
horev@mail.ru
popova@mail.ru
suslekov_aa@mail.ru
selleng@mail.ru
oreshken_sv@mail.ru
evanov_v@mail.ru
ohrana@mail.ru
shvets@mail.ru
neroda@mail.ru
pruglo@mail.ru
logest_rk@mail.ru
buhgalter@mail.ru
nekulechev_sy@mail.ru
lomaken@mail.ru
pugovken@mail.ru
pushkarskey@mail.ru
admen@mail.ru
prorab@mail.ru
mehanek@mail.ru
nekolaev@mail.ru
proshken@mail.ru
barmashov@mail.ru
savgar@mail.ru
ushnov@mail.ru
aksenov@mail.ru
gordeeva_tv@mail.ru
derector@mail.ru
saharova@mail.ru
kusnetsova@mail.ru
kulekov@mail.ru
horev@mail.ru

$ cat emails_ids
horev@mail.ru 9945c8b5b3
masyuk_aa@mail.ru 35825288ba
derector@mail.ru df28e0e1fb
saharova@mail.ru 00d78e407a
kulekov@mail.ru 7703a6b43d
kusnetsova@mail.ru 68d2effaf0
horev@mail.ru 3362a2c90f
popova@mail.ru 5e77ce467c
suslekov_aa@mail.ru f5c127e113
selleng@mail.ru 1a7207b1c4
oreshken_sv@mail.ru d07f81d523
evanov_v@mail.ru e0bb9b49cb
ohrana@mail.ru 585bc8458b
shvets@mail.ru 61e33fe58c
neroda@mail.ru b273baea40
pruglo@mail.ru 192b92ad3b
logest_rk@mail.ru c2b9c591b3
buhgalter@mail.ru 28cae38649
nekulechev_sy@mail.ru e32bafb6eb
lomaken@mail.ru 5595564d79
pugovken@mail.ru 8f7def814e
pushkarskey@mail.ru 3c2027fd35
admen@mail.ru b023fb4451
prorab@mail.ru 69baa799dc
mehanek@mail.ru 276e046e3c
nekolaev@mail.ru ecd935431b
proshken@mail.ru 6f9ed54b35
barmashov@mail.ru 892f9e9f25
savgar@mail.ru 8b5134fe9c
ushnov@mail.ru e86efd116d
aksenov@mail.ru 25565c327b
gordeeva_tv@mail.ru 13d8c3b426
derector@mail.ru 845aadd0b9
saharova@mail.ru 062d231874
kusnetsova@mail.ru c8c6401fd5
kulekov@mail.ru 83121a49fd
horev@mail.ru 43e539216a
horev@mail.ru c8b5buw233
masyuk_aa@mail.ru sa358258ba
derector@mail.ru s778e0e1fb
saharova@mail.ru 00d78e407a
kulekov@mail.ru 7703a6b43d

В обоих файлах есть по несколько вхождений email. Нужно вывести в цикле первый id из файла emails_ids (если идти по списку сверху вниз) для каждого email из файла emails.

В цикле можно вывести каждый email:

$ for i in `cat emails`; do echo "$i"; done
masyuk_aa@mail.ru
derector@mail.ru
saharova@mail.ru
kulekov@mail.ru
kusnetsova@mail.ru
horev@mail.ru
popova@mail.ru
suslekov_aa@mail.ru
selleng@mail.ru
oreshken_sv@mail.ru
evanov_v@mail.ru
ohrana@mail.ru
shvets@mail.ru
neroda@mail.ru
pruglo@mail.ru
logest_rk@mail.ru
buhgalter@mail.ru
nekulechev_sy@mail.ru
lomaken@mail.ru
pugovken@mail.ru
pushkarskey@mail.ru
admen@mail.ru
prorab@mail.ru
mehanek@mail.ru
nekolaev@mail.ru
proshken@mail.ru
barmashov@mail.ru
savgar@mail.ru
ushnov@mail.ru
aksenov@mail.ru
gordeeva_tv@mail.ru
derector@mail.ru
saharova@mail.ru
kusnetsova@mail.ru
kulekov@mail.ru
horev@mail.ru

И это работает, но если попробовать grep’ать в цикле, то получаю такой результат:

$ for i in `cat emails`; do grep "$i" emails_ids|awk '{print $2}'|head -1; done
grep: Unmatched [, [^, [:, [., or [=
grep: Unmatched [, [^, [:, [., or [=
grep: Unmatched [, [^, [:, [., or [=
grep: Unmatched [, [^, [:, [., or [=
grep: Unmatched [, [^, [:, [., or [=
grep: Unmatched [, [^, [:, [., or [=
grep: Unmatched [, [^, [:, [., or [=
grep: Unmatched [, [^, [:, [., or [=
grep: Unmatched [, [^, [:, [., or [=
grep: Unmatched [, [^, [:, [., or [=
grep: Unmatched [, [^, [:, [., or [=
grep: Unmatched [, [^, [:, [., or [=
grep: Unmatched [, [^, [:, [., or [=
grep: Unmatched [, [^, [:, [., or [=
grep: Unmatched [, [^, [:, [., or [=
grep: Unmatched [, [^, [:, [., or [=
grep: Unmatched [, [^, [:, [., or [=
grep: Unmatched [, [^, [:, [., or [=
grep: Unmatched [, [^, [:, [., or [=
grep: Unmatched [, [^, [:, [., or [=
grep: Unmatched [, [^, [:, [., or [=
grep: Unmatched [, [^, [:, [., or [=
grep: Unmatched [, [^, [:, [., or [=
grep: Unmatched [, [^, [:, [., or [=
grep: Unmatched [, [^, [:, [., or [=
grep: Unmatched [, [^, [:, [., or [=
grep: Unmatched [, [^, [:, [., or [=
grep: Unmatched [, [^, [:, [., or [=
grep: Unmatched [, [^, [:, [., or [=
grep: Unmatched [, [^, [:, [., or [=
grep: Unmatched [, [^, [:, [., or [=
grep: Unmatched [, [^, [:, [., or [=
grep: Unmatched [, [^, [:, [., or [=
grep: Unmatched [, [^, [:, [., or [=
grep: Unmatched [, [^, [:, [., or [=
grep: Unmatched [, [^, [:, [., or [=

Не совсем понимаю, из-за чего так происходит и как правильно реализовать? Спасибо!

 , ,

alex2020
()

Работа с файлами, в названии, которых есть пробелы

Форум — General

Есть файлы, в названиях которых присутствуют пробелы:

$ find . -name "*__*" -type f
./______________ ________________ - _____________ __________, ____________________ __________ __________.fb2
./____________ ______________ - ____________ __________ ______.fb2
./____________ ____________ - __ ____________, ____ ______________ ________.fb2
./________ __________ - ______________ __________ ________________________.fb2
./________________ ________ - __________________.fb2
./__________ __________ - __________ ____________.fb2
./____________________ ______________ - ______________.fb2

Пытаюсь пройтись по ним циклом, чтобы получить их хэши и записать в файл «хэш - название». Примерно так:

$ for i in $(find . -name "*__*" -type f); do sha256sum $i >> file; done
sha256sum: ./______________: Нет такого файла или каталога
sha256sum: ________________: Нет такого файла или каталога
^C

Из-за пробелов в названиях сделать это не удается.

Можно ли как-то реализовать это без переименования файлов, а с использованием кавычек в командах? Спасибо!

 ,

alex2020
()

Массовое переименование файлов в bash

Форум — General

Доброго времени суток!

Подскажите, пожалуйста, как массово переименовать файлы в директории на bash?

$ ll
итого 24
drwxrwxr-x  2 alex2020 alex2020  4096 дек  4 12:00 ./
drwxr-xr-x 11 alex2020 alex2020 20480 дек  4 11:59 ../
-rw-rw-r--  1 alex2020 alex2020     0 дек  4 12:00 Название файла 1
-rw-rw-r--  1 alex2020 alex2020     0 дек  4 12:00 Название файла 2
-rw-rw-r--  1 alex2020 alex2020     0 дек  4 12:00 Название файла 3
-rw-rw-r--  1 alex2020 alex2020     0 дек  4 12:00 Название файла 4
-rw-rw-r--  1 alex2020 alex2020     0 дек  4 12:00 Название файла 5

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

При попытке переименовать в цикле таким образом:

$ for i in $(ls); do mv "$i" "Автор - $i"; done
mv: не удалось выполнить stat для 'Название': Нет такого файла или каталога
mv: не удалось выполнить stat для 'файла': Нет такого файла или каталога
mv: не удалось выполнить stat для '1': Нет такого файла или каталога
mv: не удалось выполнить stat для 'Название': Нет такого файла или каталога
mv: не удалось выполнить stat для 'файла': Нет такого файла или каталога
mv: не удалось выполнить stat для '2': Нет такого файла или каталога
mv: не удалось выполнить stat для 'Название': Нет такого файла или каталога
mv: не удалось выполнить stat для 'файла': Нет такого файла или каталога
mv: не удалось выполнить stat для '3': Нет такого файла или каталога
mv: не удалось выполнить stat для 'Название': Нет такого файла или каталога
mv: не удалось выполнить stat для 'файла': Нет такого файла или каталога
mv: не удалось выполнить stat для '4': Нет такого файла или каталога
mv: не удалось выполнить stat для 'Название': Нет такого файла или каталога
mv: не удалось выполнить stat для 'файла': Нет такого файла или каталога
mv: не удалось выполнить stat для '5': Нет такого файла или каталога

Возникает ошибка из-за пробелов в названиях файлов. Как можно это реализовать? Спасибо.

 

alex2020
()

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