Я використовую цю команду, щоб видалити кілька входжень рядка в моєму скрипті, і він просто працює відмінно, коли я запускаю його в командному рядку. Однак, коли я використовую цю лінію в моєму perl скрипті він викидає помилку SED: синтаксична помилка в script.pl рядку 19, біля "; $ '". Нижче наведено рядок мого сценарію. Я спробував вирватися з $, але це допомагає
sed '/<\/data_item>/{N;/<\/data_item>$/{N;$'!'{s/\n//;D}}}' $WX
;
sed
не є частиною Perl. Але я дам вам користь сумніву і припустимо, що ви оголосили, що ваша власна підпрограма викликанаsed
в іншому місці сценарію. У якому командному рядку ви говорите, що це працювало? Я просто спробував його в Bash, і це дає помилку. Треба сказати, що я збентежений знаком оклику!
напівдорозі. Можливо, ви могли б дати оригінальну версію "командного рядка" і пояснити, що ви намагаєтеся зробити.