Linux скопировать первых строк

Содержание
  1. unixforum.org
  2. Скопировать первую строку из файла , удалить ее и (Копировать вставить удалить)
  3. Скопировать первую строку из файла , удалить ее и
  4. Re: Скопировать первую строку из файла , удалить ее и
  5. Re: Скопировать первую строку из файла , удалить ее и
  6. Re: Скопировать первую строку из файла , удалить ее и
  7. Re: Скопировать первую строку из файла , удалить ее и
  8. Re: Скопировать первую строку из файла , удалить ее и
  9. Re: Скопировать первую строку из файла , удалить ее и
  10. Re: Скопировать первую строку из файла , удалить ее и
  11. Re: Скопировать первую строку из файла , удалить ее и
  12. Re: Скопировать первую строку из файла , удалить ее и
  13. Русские Блоги
  14. Скопируйте первые n строк файла в другой файл под Linux
  15. Интеллектуальная рекомендация
  16. Модель производителя и потребителя
  17. Доверенные идеи дизайна
  18. Apache добавляет виртуальную машину
  19. Я хочу сделать письменное резюме тестового Андроидом
  20. Python использует технологию перехвата для взлома https, получения имени пользователя и пароля для входа!
  21. Как копировать, вырезать и вставлять в Vim / Vi
  22. Копирование, вырезание и вставка в нормальном режиме
  23. Копирование (Янкинг)
  24. Резка (Удаление)
  25. Склеивание (Вставка)
  26. Копирование, вырезание и вставка в визуальном режиме
  27. Выводы

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

Читайте также:  Linux ubuntu установка драйверов nvidia

В смысле — чтобы был только один скрипт? Можно, конечно. Какой вопрос Вы задали, на тот я и отвечал. Замените вторую строчку приведённого мной кода на нужную команду, и всех дел.

в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик

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

Читайте также:  Linux mint failed to boot

Ну тогда зачем вообще удалять строки в файле?
Их можно прогнать по очереди в цикле и никаких сторонних утилит не надо, только средства 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.

Читайте также:  Setting proxy in linux mint

Копирование, вырезание и вставка в нормальном режиме

Когда вы запускаете редактор 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 позволяет выбирать текст и управлять им.

  1. Поместите курсор на линию, с которой вы хотите начать копирование или резку.
  2. Визуальный режим имеет три подтипа.
    • Нажмите v чтобы войти в визуальный режим.
    • Нажмите V чтобы войти в визуальный линейный режим, в котором текст выделяется построчно.
    • Нажмите Ctrl+v чтобы войти в режим визуального блока. В этом режиме текст выделяется прямоугольными блоками.

Переход в визуальный режим также отмечает начальную точку выбора.

  • Переместите курсор в конец текста, который вы хотите скопировать или вырезать. Вы можете использовать команду перемещения или клавиши со стрелками вверх, вниз, вправо и влево.
  • Нажмите y чтобы скопировать, или d чтобы вырезать выделение.
  • Переместите курсор в то место, куда вы хотите вставить содержимое.
  • Нажмите P чтобы вставить содержимое перед курсором, или p чтобы вставить его после курсора.
  • Выводы

    В этом руководстве мы показали вам, как копировать, вырезать и вставлять в Vim.

    Если вы новичок в Vim, посетите сайт Open Vim, где вы можете попрактиковаться в Vim с помощью интерактивного руководства.

    Не стесняйтесь оставлять комментарии, если у вас есть вопросы.

    Источник

    Оцените статью
    Adblock
    detector