- unixforum.org
- Скопировать первую строку из файла , удалить ее и (Копировать вставить удалить)
- Скопировать первую строку из файла , удалить ее и
- Re: Скопировать первую строку из файла , удалить ее и
- Re: Скопировать первую строку из файла , удалить ее и
- Re: Скопировать первую строку из файла , удалить ее и
- Re: Скопировать первую строку из файла , удалить ее и
- Re: Скопировать первую строку из файла , удалить ее и
- Re: Скопировать первую строку из файла , удалить ее и
- Re: Скопировать первую строку из файла , удалить ее и
- Re: Скопировать первую строку из файла , удалить ее и
- Re: Скопировать первую строку из файла , удалить ее и
- Русские Блоги
- Скопируйте первые n строк файла в другой файл под Linux
- Интеллектуальная рекомендация
- Модель производителя и потребителя
- Доверенные идеи дизайна
- Apache добавляет виртуальную машину
- Я хочу сделать письменное резюме тестового Андроидом
- Python использует технологию перехвата для взлома https, получения имени пользователя и пароля для входа!
- Как копировать, вырезать и вставлять в Vim / Vi
- Копирование, вырезание и вставка в нормальном режиме
- Копирование (Янкинг)
- Резка (Удаление)
- Склеивание (Вставка)
- Копирование, вырезание и вставка в визуальном режиме
- Выводы
unixforum.org
Скопировать первую строку из файла , удалить ее и (Копировать вставить удалить)
Скопировать первую строку из файла , удалить ее и
Сообщение froa » 23.01.2017 19:01
Добрый вечер, нужна реализация на shell скрипте следующей задумки
1. открываем файл тхт
2.копируем первую строчку
3.удаляем ее из файла
4.закрываем файл
5.вставляем строчку в файл sh после нужных символов допустим после sait.ru/вот_тут
Реализовано на питоне , но очень нужна реализация на shell скрипте
Реализация на pyton :
def record(): with open('C:\op\link.txt') as inp : try: temp = inp.readlines() url = temp.pop(0) with open ('C:\op\link.txt','w') as out: for i in temp : out.write( i) return ''.join(['Сайтюру', url] ) except IndexError: print('1') PACKAGE = 'com.android.chrome' ACTIVITY = 'com.google.android.apps.chrome.Main' COMPONENT = PACKAGE + "/" + ACTIVITY URI = record()
С помощью shell можно ли подобное сделать ? что бы вставить строчку в этот код :
#!/system/bin/sh shell am start -n com.android.chrome/com.google.android.apps.chrome.Main 'http://sait.ru/СЮДА'
Bizdelnick Модератор Сообщения: 20387 Статус: nulla salus bello ОС: Debian GNU/Linux
Re: Скопировать первую строку из файла , удалить ее и
Сообщение Bizdelnick » 23.01.2017 20:55
s=$(head -n1 "$FILE1") sed -i "s|site\.ru/?|site.ru/$s|" "$FILE2" sed -i '1d' "$FILE1"
Не проверял. По-хорошему строку надо ещё URL-кодировать и экранировать в ней то, что может быть неправильно интерпретировано sed’ом.
в консоли вку́пе (с чем-либо) в общем вообще | в течение (часа) новичок нюанс по умолчанию | приемлемо проблема пробовать трафик |
Re: Скопировать первую строку из файла , удалить ее и
Сообщение froa » 23.01.2017 21:04
Это выходит как отдельный скрипт ? То есть его нужно запускать отдельно перед запуском моего скрипта ?
В связке это не реализовать ?
Каждый раз при запуске скрипта что бы бралась первая строчка с удалением и вставлялась в нужное место
Bizdelnick Модератор Сообщения: 20387 Статус: nulla salus bello ОС: Debian GNU/Linux
Re: Скопировать первую строку из файла , удалить ее и
Сообщение Bizdelnick » 23.01.2017 21:11
В смысле — чтобы был только один скрипт? Можно, конечно. Какой вопрос Вы задали, на тот я и отвечал. Замените вторую строчку приведённого мной кода на нужную команду, и всех дел.
в консоли вку́пе (с чем-либо) в общем вообще | в течение (часа) новичок нюанс по умолчанию | приемлемо проблема пробовать трафик |
Re: Скопировать первую строку из файла , удалить ее и
Сообщение ormorph » 23.01.2017 23:18
Смотрю тут андроид, если нет прав root могут быть проблемы с реализацией т.к. может отсутствовать sed и т.п.
Для android 5.0 и выше root не обязателен, есть пакет termux, он позволяет запускать bash установить wget отдельно, т.к. wget входящий в busybox урезанный. В данном пакете программы устанавливаются через apt.
Re: Скопировать первую строку из файла , удалить ее и
Сообщение ormorph » 24.01.2017 13:15
Нашел тут решение на более старые версии Android без рута.
Ставится Terminal IDE, устанавливается система и запускается Terminal IDE.
После этого доступен bash sed и прочие утилиты linux. Конечно решение не такое красивое как в termux, на моем девайсе например не работали комбинации ctrl alt в termux это клавиша громкости. Но для удобства можно соединить по telnet:
На android поднимаем сетевой интерфейс и выполняем:
После этого можно соединиться, на компьютере выполнить:
$ telnet -e '' xxx.xxx.xxx.xxx 8080
Где xxx.xxx.xxx.xxx IP android девайса, посмотреть можно выполнив в Terminal IDE ifconfig.
После будет доступна консоль и будут доступны консольные редакторы nano, vim.
А так n-ю строку можно получить с помощью sed выполнив:
# первая строка sed '1!d' "$FILE1" # вторая строка sed '2!d' "$FILE1"
Re: Скопировать первую строку из файла , удалить ее и
Сообщение froa » 24.01.2017 20:36
все верно , у меня андройд, с root правами и busybox )
Я так понимаю изменять $File На $ /расположение/до/Файла /1.txt ?
У меня скрипт и текстовый файл лежит в одной папке
/storege/sdcard0/Download/link.sh — расположение скрипта
-\\- link.txt — расположение текстового файла , именно с этого файла нужно брать первую строку .
В итоге нужно прогнать через скрипт более 1000 строк
Можно конечно и вручную — но это запарно, на питоне это реализовал уже но разница во времени в 2 раза больше ( python+monkeyrunner 40 сек обработка 1 строки,выполнение скрипта, а на shell до 20 )
Re: Скопировать первую строку из файла , удалить ее и
Сообщение ormorph » 24.01.2017 20:56
все верно , у меня андройд, с root правами и busybox )
Я так понимаю изменять $File На $ /расположение/до/Файла /1.txt ?
Почти так.
В шел File — название переменной в которой содержится путь к файлу, $File возвращает значение переменной File:
# присваивание переменной File File="/расположение/до/Файла /1.txt " # вывод на экран значения переменной File echo $File
Знак долара ставится перед названием переменной, чтобы отличить обычный текст от переменной.
Т.е.
AA="World!" #Выводит на экран Hello World! echo "Hello $AA"
Re: Скопировать первую строку из файла , удалить ее и
Сообщение ormorph » 24.01.2017 21:25
Ну тогда зачем вообще удалять строки в файле?
Их можно прогнать по очереди в цикле и никаких сторонних утилит не надо, только средства shell:
#!/system/bin/sh File="/путь/test1.txt" while read tmp do am start -n com.android.chrome/com.google.android.apps.chrome.Main "http://sait.ru/$tmp" done < $File
Re: Скопировать первую строку из файла , удалить ее и
Сообщение froa » 24.01.2017 22:03
Спасибо, я запустил скрипт и по началу он не работал. Потом подкрутил его для андройда и как все началось он начал обрабатывать строки , а паузы я не стал выставлять ибо думал не сработает :DDD Спасибо тебе )
Скинь свой номер чего либо , закину пару соток ))
И еще вопрос . В shell есть такая функция как call на Windows в cmd
что бы запустить внутри на писаного выше цикла .
Насколько успел понять то так :
#!/system/bin/sh File="/путь/test1.txt" while read tmp do am start -n com.android.chrome/com.google.android.apps.chrome.Main "http://sait.ru/$tmp" ./путь/до/script.sh done < $File
Пока он выполняется цикл ждет, как только выполниться последняя команда в script.sh то цикл продолжит ?
Еще раз спасибо !
Вопрос не по теме . С чего начать обучение ? в Shell. Толковый учебник мб или сайт ?
Русские Блоги
Скопируйте первые n строк файла в другой файл под Linux
В машинном обучении часто бывает необходимо обработать несколько гигабайт больших текстовых файлов, которые открываются очень медленно. Сначала мы можем перехватить первые несколько строк для просмотра.
Скопируйте первые n строк одного файла в другой файл в linux
Введите прямо в командной строке: (скопируйте первые 100000 строк файла data.txt в sample.txt)
head -n 100000 data.txt > sample.txt
Интеллектуальная рекомендация
Модель производителя и потребителя
Модель производителя и потребителя Эта статья в основном следует за статьейСинхронизация потоков и взаимное исключениеПродолжайте изучать проблему синхронизации потоков, мьютексы, условные переменные.
Доверенные идеи дизайна
Доверенные идеи дизайна существоватьПредыдущая статьяСреди них мы кратко понимаем механизм ввода в эксплуатацию, поэтому давайте посмотрим на дизайнерские идеи доверенности. Overview Я думаю, что вы и.
Apache добавляет виртуальную машину
1. Файл конфигурации Apache httpd.conf, vhosts.conf 2. Добавьте виртуальную машину под VHOSTS.CONF DocumentRoot "D:\www\mxhy\backend\web" .
Я хочу сделать письменное резюме тестового Андроидом
Два: Как повысить конверсию Binary → десятичное Метод: Количество двоичных чисел от низкого до высокого (т.е. от правых слева), веса 0 - го бита 2 0 раз, вес первого бита 2, вес второго бита 2 в .
Python использует технологию перехвата для взлома https, получения имени пользователя и пароля для входа!
По сравнению с протоколом http отличительной чертой https является его безопасность. Коммуникационное содержимое протокола http может быть перехвачено обычным сниффером, но содержимое снифферов.
Как копировать, вырезать и вставлять в Vim / Vi
При работе с текстовыми файлами копирование, вырезание и вставка текста — одна из наиболее часто выполняемых задач.
Vim или его предшественник Vi предустановлен на macOS и почти во всех дистрибутивах Linux. Знание основ Vim полезно в ситуации, когда ваш любимый редактор недоступен.
В этой статье показано, как копировать, вырезать и вставлять в редакторе Vim / Vi.
Копирование, вырезание и вставка в нормальном режиме
Когда вы запускаете редактор Vim, вы находитесь в обычном режиме. В этом режиме вы можете запускать команды Vim и перемещаться по файлу.
Чтобы вернуться в нормальный режим из любого другого режима, просто нажмите Esc .
В Vim есть собственная терминология для копирования, вырезания и вставки. Копирование называется yank ( y ), вырезание называется delete ( d ), а вставка называется put ( p ).
Копирование (Янкинг)
Чтобы скопировать текст, поместите курсор в желаемое место и нажмите клавишу y а затем команду перемещения. Ниже приведены некоторые полезные команды восстановления:
- yy — Янкнуть (скопировать) текущую строку, включая символ новой строки.
- 3yy — 3yy (копирование) трех строк, начиная с строки, в которой находится курсор.
- y$ — копировать (копировать) все от курсора до конца строки.
- y^ — Янкинг (копирование) всего от курсора до начала строки.
- yw — Янкнуть (копировать) до начала следующего слова.
- yiw — yiw (скопировать) текущее слово.
- y% — Янкнуть (копировать) на соответствующий символ. По умолчанию поддерживаются пары () , <> и [] . Полезно для копирования текста между совпадающими скобками.
Резка (Удаление)
В обычном режиме d — клавиша для вырезания (удаления) текста. Переместите курсор в желаемое положение и нажмите клавишу d , а затем команду перемещения. Вот несколько полезных команд для удаления:
- dd — Удалить (вырезать) текущую строку, включая символ новой строки.
- 3dd — Удалить (вырезать) три строки, начиная с линии, в которой находится курсор,
- d$ — Удалить (вырезать) все от курсора до конца строки.
Команды движения, применяемые для восстановления, также действительны для удаления. Например, dw удаляет до начала следующего слова, а d^ удаляет все от курсора до начала строки.
Склеивание (Вставка)
Чтобы поместить извлеченный или удаленный текст, переместите курсор в желаемое место и нажмите p чтобы вставить (вставить) текст после курсора, или P чтобы поместить (вставить) перед курсором.
Копирование, вырезание и вставка в визуальном режиме
Визуальный режим Vim позволяет выбирать текст и управлять им.
- Поместите курсор на линию, с которой вы хотите начать копирование или резку.
- Визуальный режим имеет три подтипа.
- Нажмите v чтобы войти в визуальный режим.
- Нажмите V чтобы войти в визуальный линейный режим, в котором текст выделяется построчно.
- Нажмите Ctrl+v чтобы войти в режим визуального блока. В этом режиме текст выделяется прямоугольными блоками.
Переход в визуальный режим также отмечает начальную точку выбора.
Выводы
В этом руководстве мы показали вам, как копировать, вырезать и вставлять в Vim.
Если вы новичок в Vim, посетите сайт Open Vim, где вы можете попрактиковаться в Vim с помощью интерактивного руководства.
Не стесняйтесь оставлять комментарии, если у вас есть вопросы.