$ tr ' ' '\t' <pheno_Mt.txt
IID pheno
1000017 -9
1000025 -9
1000038 1
1000042 -9
1000056 -9
Это выглядит так, как будто команда tr
сделала что-то только с первой строкой файла, но поскольку вывод табуляции перемещает курсор на следующую позицию, кратную восьми, на экране, и поскольку это ровно один пробел после 7-символьного числа, эффект заключается в том, что табуляция в других строках выглядит как только один пробел.
Между прочим, это можно сделать и другим способом, не зависящим от количества пробелов в исходном файле,
$ awk -v OFS='\t' '{ print $1, $2 }' pheno_Mt.txt
IID pheno
1000017 -9
1000025 -9
1000038 1
1000042 -9
1000056 -9
Здесь используется awk
для вывода двух столбцов, разделенных табуляцией -, считанных из ввода, разделенного пробелами -.
Или, для любого количества столбцов,
$ awk -v OFS='\t' '{ $1=$1; print }' pheno_Mt.txt
IID pheno
1000017 -9
1000025 -9
1000038 1
1000042 -9
1000056 -9
Это заставляет awk
заново -формировать всю запись, изменяя первое поле. Обычный print
будет печатать запись с табуляциями в качестве разделителей.
Мне удалось это сделать:
/mnt
/dev
и /proc
на /mnt/dev
и/mnt/proc
grub-install
, не получилось, выдал предупреждение, что сработает только в том случае, что не рекомендуется . Я предполагаю, что это должно быть стабильно, по крайней мере, до тех пор, пока я не попытаюсь отредактировать разделы в следующий раз. Если так, то все хорошо, я пережил множество обновлений и редактирую таблицу разделов основного жесткого диска только при обновлении ОС (, так как виртуальный -ящик и докер не выполняют двойную загрузку ).
Вот с чего я бы начал, используя "scratch" в качестве источника и "zork" в качестве новой копии (, которая может находиться на другом дистрибутиве ). Обратите внимание, что я использую флаг -a
для cp
, чтобы временные метки файлов сохранялись во время копирования.
% (cd scratch ; tar cf -.) | shasum -a 256
a17cacd171d6cbc2f6da028c8167b0602a1146a337f602de71529999fe471e0f -
% /bin/cp -a scratch zork
% (cd zork ; tar cf -.) | shasum -a 256
a17cacd171d6cbc2f6da028c8167b0602a1146a337f602de71529999fe471e0f -
Если вы хотите напрямую сравнить две суммы, вы можете использовать
if [[ $((cd scratch ; tar cf -.) | shasum -a 256) == $((cd zork ; tar cf -.) | shasum -a 256) ]]
then
echo match
else
echo no match
fi