2016-03-29 16 views
1

ben dosya içeriğini ters (desc sırası) sıralanır ikinci dosyasını almak ve burada scpLinux: Sıralamayı dizindeki dosya ve elde İkinci dosya

kullanarak benim yerel dizine kopyalamak için çalışıyorum ne var :

scp -r [email protected]:./backups/dir1/$(ls -r | head -2| tail -1) /tmp/data_sync/dir1/ 

Bu komut dosyasını çalıştırdığımda hala tüm dosyaları kopyalamak gibi görünüyor. Neyi kaçırıyorum? TIA.

Sorunuzu var ise
+0

Ne-biliyor musunuz? Neden onu kullanıyorsun ? –

+0

Tersine sıralamak? – premunk

+2

Biri scp' :) ('scp -r') + Neyi başarmak istediğinizi anlamıyorum. İçeriğinin tersine sıralanan bir dosyayı 'scp' mi istiyorsunuz? –

cevap

2

$(...) yerel olarak yorumlanıyor. Komutların uzaktan kumandada çalışmasını istiyorsanız, ssh'u kullanmanız ve uzak taraftaki dosyaları yerel sisteminize kopyalamak için scp kullanmanız gerekecektir. ayrıştırma ls 'ın çıkış bir takım sorunlar vardır

beri, her dosya yerine yeni satır arasında NUL kullanmak için söylüyorum, ls aynı şeyi başarmak için find kullanacağız. sort dosya adlarının listesini sıralar ve sed -n 2p, sıralanmış dosya adları listesinin ikinci öğesini yazdırır. xargs, dosya adını ilk bağımsız değişken olarak ekleyerek, scp komutunu çalıştırır.

ssh [email protected] "find ./backups/dir1/ -mindepth 1 -maxdepth 1 -name '[^.]*' -print0 | \ 
    sort -r -z | sed -z -n 2p | \ 
    xargs -0 -I {} scp {} yourlocalhost:/tmp/data_sync/dir1/" 
1

, komut sadece bir şartname ile Tamam:

  • ilk yinelemeli scp ters düzende sıralanır katılmalarının içeriklere sahip olan dosyaları s scp -r koştu. -r olmadan

Dene: scp için

scp [email protected]:./backups/dir1/$(ls -r | head -2 | tail -1) /tmp/data_sync/dir1/

temel sözdizimi şöyledir:

scp [email protected]:/location/to/file [email protected]:/where/to/put 

-r yinelemeli tüm dizinleri kopyalamak unutmayın. Dahası, scp'un ağaç geçişinde karşılaşılan sembolik bağları izlediğini unutmayın.

+0

Buna rağmen devam ediyorum: scp uname @ host: ./ backups/dir1// tmp/data_sync/dir1/ scp: ./backups/dir1: düzenli bir dosya değil – premunk

+0

Uzakdan ana bilgisayara kopyalamak veya ev sahibinden uzaklara mı? –

+0

Uzak Yerel ana bilgisayar dizini – premunk

İlgili konular