файлы копии, измененные после определенной даты с помощью переключателей CP

Если можно измениться файл, чтобы иметь вкладку разделил столбцы, жизнь будет легче. Если изменение файла не является опцией, эта острота Perl сделает это для Вас:

perl -ne 's/\s+/\t/g; s/([a-z])\s([a-z])/$1 $2/ig; s/\t$/\n/; print;' file |
  sort -t$'\t' -nk3
Kuala Lumpur    78  56  
Tokyo   85  60  
Seoul   85  66  
Karachi 95  75  
Lahore  85  75  
Manila  90  85  

ОБЪЯСНЕНИЕ:

  • s/\s+/\t/g : измените ВСЕ пробелы на ВКЛАДКИ.
  • s/([a-z])\s([a-z])/$1 $2/ig : измените ВКЛАДКИ, которые являются между двумя буквами (никакие числа) назад к одиночным пробелам.
  • s/\t$/\n/ : первая замена представляет ВКЛАДКУ в конце каждой строки, возвратите это к символу новой строки (\n).

  • sort -t$'\t' -nk3 : используйте ВКЛАДКУ в качестве разделителя (вид имеет странный синтаксис там, я знаю, вижу здесь для получения дополнительной информации), и вид численно на третьем столбце.

7
07.03.2014, 02:47
3 ответа
[112381] Здесь происходит то, что когда вы используете опцию [112789]-R[112790] для [112791]cp[112792] и предоставляете каталог в качестве аргумента, он копирует [112793]все [112794] в этот каталог. Более того, это не сохранит структуру каталога, так как любые файлы в нижних каталогах будут копироваться непосредственно в [112795]/tmp/2[112796]. Это может быть то, что вы хотите (смотрите [112797]X Tian's answer[112798] о том, как это сделать таким образом), но остерегайтесь, что если какие-либо файлы будут иметь одно и то же имя, то один из них перезапишет другой при определении.

Для сохранения структуры каталогов можно использовать [112799]cpio[112800]:

Если опция [112801]-0[112802] (или эквивалентная) недоступна, вы можете это сделать, но будьте осторожны, ни одно из имен файлов не содержит новой строки:

cpio[112804] также должно поддерживать опцию [112805]-L[112806], хотя будьте осторожны, так как в некоторых случаях это может привести к бесконечному циклу.[112388].

11
27.01.2020, 20:15
[112375] Вы должны исключить каталоги, первый найденный файл для отпечатков - [112783].[112784] кроме того, вы используете рекурсивный параметр на копии.

Итак, ниже приведено больше того, что вы имели в виду, однако, как указывает Graeme, [112785]cpio -pdm[112786] сохранит первоначальную структуру каталога, [112787]cp[112788] скопирует только в целевой каталог.


Я оставляю этот ответ, чтобы подчеркнуть разницу между Graeme и этим решением. Так как я действительно думаю, что это что-то добавляет к общему ответу на исходный вопрос. Другие читатели могут найти это интересным[112380].

2
27.01.2020, 20:15

Это сохраняет отметки времени в каталогах и файлах:

find . -mtime -60 -type f -exec cp --parents -fuav {} /tmp/2 \;

Протестировано с использованием CentOS 7.2.

1
27.01.2020, 20:15

Теги

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