Используете tar для обновления архива с файлами из цикла while?

С помощью bashили любой оболочки, которая понимает подстановку процессов:

$ grep -f <( awk '{ printf("^%s[[:blank:]]\n", $0) }' File1 ) File2
A aaa B
B aaa h

Идея состоит в том, чтобы создать правильные шаблоны для grep -f File1для работы непосредственно с File2путем преобразования каждой строки в Fileиз somethingв регулярное выражение^something[[:blank:]](с префиксом циркумфлекса и суффиксом. с[[:blank:]]).

Циркумфлекс привязывает шаблон к началу строки и [[:blank:]]инициирует совпадение с пробелом или символом табуляции.

GNU grepтакже может считывать шаблоны со стандартного ввода:

$ awk '{ printf("^%s[[:blank:]]\n", $0) }' File1 | grep -f - File2
A aaa B
B aaa h

Команда awkможет быть заменена эквивалентной командой sed(, если вы предпочитаете sedвместо awk):

.
$ sed -e 's/^/^/' -e 's/$/[[:blank:]]/' File1 | grep -f - File2
0
08.10.2019, 12:24
1 ответ

Хорошо, кажется, я наконец-то нашел правильный вызов -примечание, sedдобавлено, потому что --strip-componentsработает только с извлечением ; поэтому здесь мы вручную удаляем /c/из строк пути к файлу, а затем инструктируем tarизменить каталог на /c/с помощью переключателя -C:

.
$ pacman -Syu | grep exists | awk '{print $2}' | sed 's_/c/__' | xargs tar -cvf /tmp/bckp.tar -C /c/
:: Proceed with installation? [Y/n] y
error: failed to commit transaction (conflicting files)
msys64/usr/lib/python2.7/site-packages/pip/_internal/commands/debug.py
msys64/usr/lib/python2.7/site-packages/pip/_internal/commands/debug.pyc
msys64/usr/lib/python2.7/site-packages/pip/_internal/distributions/__init__.py
msys64/usr/lib/python2.7/site-packages/pip/_internal/distributions/__init__.pyc
...

... и дважды -проверить:

$ tar tvf /tmp/bckp.tar
-rw-r--r-- user/None        3360 2019-09-02 09:08 msys64/usr/lib/python2.7/site-packages/pip/_internal/commands/debug.py
-rw-r--r-- user/None        4154 2019-09-02 09:08 msys64/usr/lib/python2.7/site-packages/pip/_internal/commands/debug.pyc
-rw-r--r-- user/None         861 2019-09-02 09:08 msys64/usr/lib/python2.7/site-packages/pip/_internal/distributions/__init__.py
-rw-r--r-- user/None         986 2019-09-02 09:08 msys64/usr/lib/python2.7/site-packages/pip/_internal/distributions/__init__.pyc
...
1
28.04.2021, 23:28

Теги

Похожие вопросы