Одна строка в контрольном файле выглядит так:
1039 ZA_BKPF_20170725103534.txt
Таким образом, используя пробел в качестве разделителя, я обрезаю и присваиваю только имя файла переменной, как показано ниже:
файл = echo "$line" | cut -d " " -f2
и тогда я использую sed: sed -i 1d "$ targetDir" / "$ file"
но в журнале я получаю сообщение об ошибке ниже: Я также сделал эхо, чтобы подтвердить, существует ли файл. Как видите, файл существует. но sed говорит, что нет такого файла или каталога.
- Файл = $ 'ZA_BKPF_20170725103534.txt \ г'
- echo '/u/applic/data/hdfs1/etl_grmacw/ACDW/source/ZA/ZA_BKPF_20170725103534.txt существует' /u/applic/data/hdfs1/etl_grmacw/ACDW/source/ZA/ZA_BKPF_20170725103534.txt существует
- sed -i 1d $ '/ u / Applic / data / hdfs1 / etl_grmacw / ACDW / source / ZA / ZA_BKPF_20170725103534.txt \ r' sed: не могу прочитать
Кто-то знаком с $ 'string \ r'. почему это происходит с моими переменными. Это проблема или что-то еще? Может кто-нибудь помочь мне, пожалуйста! Спасибо, Хари Г
$'...'
Формат используется только для отчетности, чтобы показать, что в переменной есть символ возврата (0x0D). Ты можешь использоватьtr
отфильтровать это,dos2unix
на входной файл, чтобы очистить его.