Как преобразовать жесткую ссылку в обычный файл? [duplicate]

С GNU datamash :

datamash -t\| -g 1,2 collapse 3 

Результат:

A4690021|product.actor|Laurel Cronin,Bob Hoskins,Caroline Goodall,Julia Roberts,Maggie Smith,Amber Scott,Charlie Korsmo,Robin Williams,Dustin Hoffman
A4690021|product.director|Steven Spielberg
A4690021|product.bestSellers|Offline Best Seller,Online Best Seller
A4690021|product.parentCategory.id|999.54215013.999.54216013
A4690021|product.storeName|Cine
A4690021|product.parentCat.displayName|Infantil
A19129625|product.author|. VV.AA.

3
27.09.2016, 17:49
1 ответ

Это может быть достигнуто с помощью команды

find -samefile filename -exec sed -i ';;' {} \;

или если вы сейчас номер индексного дескриптора файла

find -inum inode -exec sed -i ';;' {} \;

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

Первая часть find -samefile filename находит все файлы, которые имеют один и тот же индексный дескриптор. Затем он выполняет sed -i ';;' , который копирует файл в файл с тем же именем (обратите внимание, что мы используем сценарий sed ';;' вместо ' ; ', иначе find интерпретирует аргумент ; как конец команды -exec ).

2
27.01.2020, 21:25

Теги

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