С помощью 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
Хорошо, кажется, я наконец-то нашел правильный вызов -примечание, 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
...