小编vol*_*tas的帖子

在模式匹配后插入一行,如果只有字符串不存在

输入文件

Ranges:
- PeakK2:8.8.9
- rover-heal:3.3.1
Arg: V1
change: 1
Run Code Online (Sandbox Code Playgroud)

首先,检查文件中是否存在字符串cpu-management,如果不存在,则将其添加到如下所示的rover-heal行之后。

Ranges:
- PeakK2:8.8.9
- rover-heal:3.3.1
- cpu-management:1.9.0
Arg: V1
change: 1
Run Code Online (Sandbox Code Playgroud)

我想出了一个单衬

grep -e "cpu-management:" test.yaml || sed -i -e "/rover-heal/- cpu-management:${version}/"  test.yaml
Run Code Online (Sandbox Code Playgroud)

version环境变量在哪里。

错误:

sed: -e expression #1, char 16: unknown command: `-'
Run Code Online (Sandbox Code Playgroud)

awk grep sed

5
推荐指数
2
解决办法
126
查看次数

Ruby无法创建目录

我正在尝试逐行读取具有字符串值的文件,并为每个字符串值创建相应的文件夹/目录.

#require 'fileutils'

value=File.open('D:\\exercise\\list.txt').read
value.gsub!(/\r\n?/, "\n")
value.each_line do |line|
    line.chomp
    print "FOlder names:#{line}"
    Dir.mkdir("D:\\exercise\\#{line}")
end
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

read_folders_svn.rb:8:in `mkdir': Invalid argument - Australia (Errno::EINVAL)
        from read_folders_svn.rb:8:in `block in <main>'
Run Code Online (Sandbox Code Playgroud)

list.txt文件的内容如下

Australia
USA
EUrope
Africa
ANtartica
Run Code Online (Sandbox Code Playgroud)

我尝试打印值及其工作正常,同时创建面临上述问题的相应目录,甚至尝试使用fileutils(fileutils.mkdir)选项,但仍然是同样的问题.

请给我任何建议.谢谢

ruby

1
推荐指数
1
解决办法
52
查看次数

标签 统计

awk ×1

grep ×1

ruby ×1

sed ×1