所以我认为这很容易,但我无法绕过它。 我需要GREP以下列表,只找到缺少欧元符号的字符串。
x80/90
x90€
x80/95
x80/95€
x80/90
x90
然后我需要添加缺少的欧元符号。 我真的以为我可以管理这么简单的例子,但它让我难过。
谢谢大家。
答案 0 :(得分:1)
要找到缺少欧元符号的行,您可以使用带有反向匹配的grep
(参数-v)
grep -v '€' < ./your/file
要替换,您可以使用sed
,如下所示:
sed -e '/€/!s/.\+/\0€/' < ./your/file
下面...
/€/
尝试将欧元符号作为前提条件。!s/.\+/\0€/
仅对未满足前提条件的行进行替换。.\+
至少需要一个字符,以便空行不会获得欧元符号。!s/$/€/
也可以。答案 1 :(得分:0)
以下是使用perl
perl -pi -e 's/^(?!.*€)(.*)/\1€/g' inputFile
-p
处理并逐行打印-i
for inplace replacement 如果您只想使用grep
检测这些行,可以使用-P
选项支持Perl regex
并使用negative lookahead
grep -P '^(?!.*€)' inputFile