Вы использовали exclude =
вместо - exclude =
.
tar -zcvf files-live.tgz public_html/ --exclude='public_html/cache' --exclude='public_html/uplimg' --exclude='public_html/images/listings' --exclude='public_html/sets' --exclude='public_html/manage' --exclude='error_log'
Например:
{
if (NR==1){
for (i=1; i<=NF; ++i){
arr[i] = $i
}
}else{
for (i=1; i<=NF; ++i){
print(arr[i]," = ",$i)
}
}
print("")
}
Для запуска:
awk -f script.awk input
cat data |
while IFS=$'\t' read -r -a a; do
case ${flag+'set'} in
"set" )
set -- "${a[@]}"
for c in "${C[@]}"; do echo "$c = $1"; shift; done
echo ;;
* ) C=( "${a[@]}" ); flag= ;;
esac
done
sed -Ee '
1h;1N
/^\n$/{
$d;P;g;N
}
s/^(\S+)\s*((\S.*)?)\n(\S+)\s*((\S.*)?)/\1 = \4\n\2\n\5/
P;D
' data
perl -F'\t+' -lane '
@C or @C = @F,next;
print "$C[$_] = $F[$_]" for 0.. $#C;
eof or print q[];
' data
column1 = rowA1
column2 = rowA2
column3 = rowA3
column1 = rowB1
column2 = rowB2
column3 = rowB3
bash
*)Сохранить первую строку в массиве C
в то время, когда флаг не установлен. Затем быстро установите его так, чтобы в следующий раз мы не прибыли сюда. *)Массив a
разбивается на аргументы с помощью команды set
. *)Затем мы перебираем столбцы, доступ к которым осуществляется через "${c[@]}" в цикле for
и печатаем вместе с $1 (, который затем смещается )*)Примечание IFS устанавливается на вкладку с помощью конструкции $'\t'
. Так как это один из специальных символов, поэтому ряд из них будет свернут в один, и поэтому мы не увидим пустых полей.
perl
*)Установите для FS одну или несколько вкладок:-F'\t+'
и включите режим авторазбиения. *)Та же логика, что и в решении на основе bash
, в котором мы сохраняем данные столбцов, найденные в 1-й строке массива @C
. Массивы @C
и данные полей текущей записи в @F
печатаются, беря по одному из каждого.
sed
*)Здесь мы сначала преобразуем все символы табуляции в пробелы. *)Сохранение данных столбцов первой строки в области хранения. *)Для всех остальных строк добавьте столбцы к текущей строке. *)Затем мы продолжаем выбирать первые элементы из текущей строки/столбца и сокращаем пространство шаблона, удаляя эти напечатанные элементы. *)Условие остановки возникает, когда не остается пробелов.