Попробуйте использовать -C
только для пути, что предотвратит сжатие с полными путями:
root@server # tar fcz bkup.tar.gz -C /home/ foo/
Самый простой способ — использовать grep
для сопоставления с образцом, а затем awk
для извлечения второго поля.
grep -f File1 File2 | awk '{print $2}'
Если File1 содержит фиксированные -строки, а не шаблоны регулярных выражений, используйте параметр grep -F
, также известный как --fixed-strings
:
grep -F -f File1 File2 | awk '{print $2}'
Если поля (столбцы )в файле 2 разделены табуляцией,
grep -f File1 File2 | cut -f2
иначе,
grep -f File1 File2 | awk '{print $2}'
Или, полностью в awk (и независимо от вкуса пробела):
awk '!flag { a[$1]++ } flag { if (a[$1]) print $2 }' File1 flag=2 File2