Объединить два столбца сжатого файла и заменить объединенный столбец другим столбцом.

Программные ссылки связаны только с именем файла, а не с номером инода. Если исходный файл переименовывается, программная ссылка не работает, и ссылка теперь не знает, куда она указывает. Выкладывая эту картинку из одного из ответов (, который я не помню, я давно сохранил эту картинку в своем телефоне):enter image description here

Если исходный файл переименован, my-soft-linkбудет указывать на имя файла, которого больше не существует, и, следовательно, станет красным, поскольку ссылка или указатель будут повреждены. В таком случае my-soft-linkбудет подобен оборванному указателю. Он указывает на несуществующий файл.

С другой стороны, с жесткими ссылками такой проблемы не возникает, поскольку жесткие ссылки указывают непосредственно на номер инода. Таким образом, если исходный файл будет переименован, my-hard-linkне станет оборванным указателем.

Таким образом, чтобы повторно активировать вашу символическую ссылку, вы можете обновить символическую ссылку, указав на переименованный файл.

ln -sfn test3 test2

0
04.02.2020, 16:50
2 ответа

Вы можете распечатать содержимое gzip-файла с помощью команды zcat.

Итак, печать исходного файлаfile1.gz:

$ zcat file1.gz
1 rs571093408 rs571093408 13380 C G
2 rs200000002 rs222222222 12222 D E
3 rs300000003 rs333333333 13333 F K

Один вкладыш для выполнения:

$ zcat file1.gz|awk '{print $1" "$1":"$4,$3,$4,$5,$6}'|gzip > file2.gz

Печать содержимого файла результатов file2.gz:

$ zcat file2.gz
1 1:13380 rs571093408 13380 C G
2 2:12222 rs222222222 12222 D E
3 3:13333 rs333333333 13333 F K

Обновлено. Добавление улучшенной версии на основе комментария ниже:

$ zcat file1.gz|awk '{$2=$1":"$4}1'|gzip > file2.gz
1
28.04.2021, 23:24

Окончательный код, который я использовал, был:

zcat file.gz | awk '{$2=$1":"$4}1' | gzip > new_file.gz | mv new_file.gz file.gz

mv new_file.gz file.gzв конце заменяет новый файл на старый.

-1
28.04.2021, 23:24

Теги

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