Unix sed okuyamıyor. değişken kullanırken özel sorun


0

Bir kontrol dosyasındaki bir satır şöyle görünür: 1039 ZA_BKPF_20170725103534.txt Bu nedenle, alanı bir sınırlayıcı olarak kullanarak, dosya adını yalnızca aşağıdaki gibi bir değişkene kesip atayım: file = echo "$line" | cut -d " " -f2

ve sonra sed: sed -i 1d "$ targetDir" / "$ dosyası"

ama günlüğünde aşağıdaki hatayı alıyorum: Dosyanın var olup olmadığını onaylamak için de bir eko yaptım. Gördüğünüz gibi, dosya var. ama sed böyle bir dosya veya dizin olmadığını söylüyor.

  • dosya = $ 'ZA_BKPF_20170725103534.txt \ r'
  • echo '/u/applic/data/hdfs1/etl_grmacw/ACDW/source/ZA/ZA_BKPF_20170725103534.txt mevcut' /u/applic/data/hdfs1/etl_grmacw/ACDW/source/ZA/ZA_BKPF_20170725103534.txt mevcut
  • sed -i 1d $ '/ u / uygulama / veri / hdfs1 / etl_grmacw / ACDW / kaynak / ZA / ZA_BKPF_20170725103534.txt \ r' sed: okunamıyor /u/applic/data/hdfs1/etl_grmacw/ACDW/source/ZA/ZA_BKPF_20170725103534.txt: Böyle bir dosya veya dizin yok

$ 'String' ile tanıdık biri. bu neden değişkenlerime oluyor. Bu sorun mu yoksa başka bir şey mi? Birisi pls bana yardımcı olabilir! Teşekkürler, Hari G


2
Denetim dosyanız Windows biçimindeymiş gibi görünüyor. $'...' format, değişkende bir dönüş (0x0D) karakteri olduğunu göstermek için sadece raporlama amacıyla kullanılmaktadır. Kullanabilirsiniz tr filtrelemek,
AFH

1
... veya kullan dos2unix Girdi dosyasını temizlemek için.
xenoid
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.