Linux tar :Вы не можете указать более одной опции tar '-Acdtrux', '--delete' или '--test -label'

Если вы не возражаете против создания временного файла и у вас есть csplit, это работает:

sh -c 'csplit -sf"$1_" "$1" "%^$(cat "$2")%+1" && cat "${1}_00"' sh file1 file2

Примечание file1— входной файл, а file2— файл шаблона (, как указано в вопросе ).

Длинная форма приведенной выше команды::

sh -c 'csplit --quiet --prefix="$1_" "$1" "%^$(cat "$2")%+1" && cat "${1}_00"' sh file1 file2

т. е.

csplit --quiet --prefix="file1_" "file1" "%^$(cat "file2")%+1" && cat "file1_00"

csplitбез приведенного выше флага prefixсоздаст файлxx00(с префиксом xxи суффиксом00). С указанным выше флагом создается файл file1_00. Без флага quietон печатает размер выходного файла (размера результирующего файла ).

0
21.04.2021, 21:21
1 ответ

Ваша команда должна быть примерно такой:

tar -C /usr/local --strip-components=1 -xJf node-v12.13.1-linux-x64.tar.xz

но для простоты можно использовать:

cd /usr/local
tar --strip-components=1 -xJf /path/to/node-v12.13.1-linux-x64.tar.xz

Также проверьте, действительно ли вам нужно--strip-components

П.С. Вам может понадобиться такой синтаксис:--strip-components 1

2
28.04.2021, 22:51

Теги

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