AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / coding / 问题 / 77244516
Accepted
RandomGuy
RandomGuy
Asked: 2023-10-06 20:40:15 +0800 CST2023-10-06 20:40:15 +0800 CST 2023-10-06 20:40:15 +0800 CST

尝试在文件末尾插入行时出现 perl 错误[重复]

  • 772
这个问题在这里已经有了答案:
如何转义双引号内的双引号? (10 个回答)
13 小时前关闭。

该帖子已于 13 小时前编辑并提交审核。

我在 perl 文件中有以下代码。该命令的目的是在file.txt的末尾添加一行“--test 0”。

system(" find  . -type f -name file.txt | xargs sed -i -e "$ a- - test 0" ");

当我尝试运行脚本时,出现如下错误。

Scalar found where operator expected at timeStampConfig.pl line 24, near "" find  . -type f -name file.txt | xargs sed -i -e "$ a"
    (Missing operator before $ a?)
Number found where operator expected at timeStampConfig.pl line 24, near "test 0"
    (Do you need to predeclare test?)
String found where operator expected at timeStampConfig.pl line 24, near "0" ""
    (Missing operator before " "?)
syntax error at timeStampConfig.pl line 24, near "" find  . -type f -name file.txt | xargs sed -i -e "$ a"
Execution of timeStampConfig.pl aborted due to compilation errors.

我尝试从命令提示符执行以下行,效果很好。

find . -type f -name file.txt | xargs sed -i -e '$ a- - test 0'

我还尝试使用单引号,如下所示,但最终出现错误。

system("find  . -type f -name file.txt | xargs sed -i -e '$ a- - test 0'");

sed: -e expression #1, char 1: unknown command: `-'

我是 Perl 新手,需要一些帮助。

perl
  • 1 1 个回答
  • 61 Views

1 个回答

  • Voted
  1. Best Answer
    Ted Lyngmo
    2023-10-06T20:47:39+08:002023-10-06T20:47:39+08:00

    当您想要在双引号字符串中使用双引号时,您需要转义双引号:"...\"foo\"..."但在这种情况下,您很可能应该用单引号替换内部双引号:

    system("find  . -type f -name file.txt | xargs sed -i -e '\$ a- - test 0'");
    #                                                        ^              ^
    #                                                        +---- here ----+
    

    请注意,$需要在双引号字符串中进行转义。您还可以分离字符串的构建,以避免必须转义任何内容:

    my $expr='$ a- - test 0';
    system("find  . -type f -name file.txt | xargs sed -i -e '$expr'");
    
    • 4

相关问题

  • 找不到 perl 模块

  • 如何在 Perl 中将电子邮件地址添加到字符串中?( “@“ 特点 )

  • 如何跳过 perl 中的其余部分作为 awk 中的下一个?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    使用 <font color="#xxx"> 突出显示 html 中的代码

    • 2 个回答
  • Marko Smith

    为什么在传递 {} 时重载解析更喜欢 std::nullptr_t 而不是类?

    • 1 个回答
  • Marko Smith

    您可以使用花括号初始化列表作为(默认)模板参数吗?

    • 2 个回答
  • Marko Smith

    为什么列表推导式在内部创建一个函数?

    • 1 个回答
  • Marko Smith

    我正在尝试仅使用海龟随机和数学模块来制作吃豆人游戏

    • 1 个回答
  • Marko Smith

    java.lang.NoSuchMethodError: 'void org.openqa.selenium.remote.http.ClientConfig.<init>(java.net.URI, java.time.Duration, java.time.Duratio

    • 3 个回答
  • Marko Smith

    为什么 'char -> int' 是提升,而 'char -> Short' 是转换(但不是提升)?

    • 4 个回答
  • Marko Smith

    为什么库中不调用全局变量的构造函数?

    • 1 个回答
  • Marko Smith

    std::common_reference_with 在元组上的行为不一致。哪个是对的?

    • 1 个回答
  • Marko Smith

    C++17 中 std::byte 只能按位运算?

    • 1 个回答
  • Martin Hope
    fbrereto 为什么在传递 {} 时重载解析更喜欢 std::nullptr_t 而不是类? 2023-12-21 00:31:04 +0800 CST
  • Martin Hope
    比尔盖子 您可以使用花括号初始化列表作为(默认)模板参数吗? 2023-12-17 10:02:06 +0800 CST
  • Martin Hope
    Amir reza Riahi 为什么列表推导式在内部创建一个函数? 2023-11-16 20:53:19 +0800 CST
  • Martin Hope
    Michael A fmt 格式 %H:%M:%S 不带小数 2023-11-11 01:13:05 +0800 CST
  • Martin Hope
    God I Hate Python C++20 的 std::views::filter 未正确过滤视图 2023-08-27 18:40:35 +0800 CST
  • Martin Hope
    LiDa Cute 为什么 'char -> int' 是提升,而 'char -> Short' 是转换(但不是提升)? 2023-08-24 20:46:59 +0800 CST
  • Martin Hope
    jabaa 为什么库中不调用全局变量的构造函数? 2023-08-18 07:15:20 +0800 CST
  • Martin Hope
    Panagiotis Syskakis std::common_reference_with 在元组上的行为不一致。哪个是对的? 2023-08-17 21:24:06 +0800 CST
  • Martin Hope
    Alex Guteniev 为什么编译器在这里错过矢量化? 2023-08-17 18:58:07 +0800 CST
  • Martin Hope
    wimalopaan C++17 中 std::byte 只能按位运算? 2023-08-17 17:13:58 +0800 CST

热门标签

python javascript c++ c# java typescript sql reactjs html

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve