Etiket arşivi: bash

bash scripting: Argument list too long error for rm

Bir dizindeki tüm alt klasörler içinde bulunan ve adı align_ ile başlamayan bütün dosyaları silmek istiyordum. Bu işlemi rm */!(align_*) kodu ile yapabiliyorum fakat klasör ve dosya sayısı çok fazla olduğundan dolayı Argument list too long hatası aldım. Bunu çözmek için de aşağıdaki bash scripti hazırladım. Buna benzer bir sorunla karşılaşmışsanız aşağıdaki kodu kendinize göre düzenleyerek kullanabilirsiniz.

[pastacode lang=”bash” manual=”%23!%2Fbin%2Fbash%0A%0Afor%20filename%20in%20*%2F*%3B%20do%0A%09if%20%5B%5B%20%24filename%20!%3D%20*align_*%20%5D%5D%0A%09then%0A%09%09rm%20%24filename%0A%09fi%0Adone” message=”” highlight=”” provider=”manual”/]

 

 

Linux: cp komutu omitting directory hatası

Bilindiği hd porno gibi cp komutu klasör yada dosya kopyalamak için kullanılıyor. Klasör kopyalarken bu hatayı alıyorsanız recursive anlamındaki -r komutunu eklemelisiniz. Böylece klasörü içindeki tüm dosyalarla birlikte kopyalayacaktır.

Gel gelelim bu hatayı çoklu dosya türk porno kopyalarken de alabilirsiniz. Örnek olarak

cp sample.txt /home/user/Desktop/*0/

komutunu çalıştırmaya çalıştığınızda birden fazla klasöre dosya kopyalaması gerekiyor ama cp komutu bu işlemi gerçekleştirmeye izin vermiyor. Peki buna çözüm olarak ne yapacağız. Ben küçük bir bash scriptiyle sorunu halletim. Aşağıdaki scriptte döngü ve cp komutunun bulunduğu satırda ilgili değişiklikleri yaparak bu sorunu halledebilirsiniz.

#!/bin/bash

for i in {20..100..10}
 do
 cp sample.txt /home/user/Desktop/$i/ 
 done