如何 sed 字符串之间有空格?

如何 sed 字符串之间有空格?

字符串之前:

file_csv_max_size:         100   # in bytes

字符串之后:

file_csv_max_size:         200   # in bytes

我在下面尝试过但没有成功..

sed 's|file_csv_max_size:         100   # in bytes|file_csv_max_size:         200   # in bytes|' /path/to/file

答案1

部分间距可能是使用 TAB 字符而不是 SPC 完成的。

你可以这样做:

sed 's|\(file_csv_max_size:[[:space:]]*\)100\([[:space:]]*# in bytes\)|\1200\2|'

其中代表[[:space:]]*区域设置中被分类为空白的任意数量的字符(因此包括 SPC、TAB 和其他几个字符)。

我们捕获里面 100 之前和之后的内容\(...\) 捕获组因此在替换中它们可以分别被称为\1和。\2

相关内容