我想用sed删除一个模式,只是在第二次出现时.这是我想要的,删除一个模式,但第二次出现.
file.csv中有什么:
a,Name(null)abc.csv,c,d,Name(null)abc.csv,f
a,Name(null)acb.csv,c,d,Name(null)acb.csv,f
a,Name(null)cba.csv,c,d,Name(null)cba.csv,f
Run Code Online (Sandbox Code Playgroud)
需要输出:
a,Name(null)abc.csv,c,d,Name,f
a,Name(null)acb.csv,c,d,Name,f
a,Name(null)cba.csv,c,d,Name,f
Run Code Online (Sandbox Code Playgroud)
这是我试过的:
sed -r 's/(\(null)\).*csv//' file.csv
Run Code Online (Sandbox Code Playgroud)
这里的问题是正则表达式太贪婪,但我不能让它停止.我也试过这个,跳过第一次出现的"null":
sed -r '0,/null/! s/(\(null)\).*csv//' file.csv
Run Code Online (Sandbox Code Playgroud)
也试过,但贪婪的正则表达式仍然是问题.
sed -r 's/(\(null)\).*csv//2' file.csv
Run Code Online (Sandbox Code Playgroud)
我读过,?
可以让正则表达式"懒惰",但我不能让它锻炼.
sed -r 's/(\(null)\).*?csv//' file.csv
Run Code Online (Sandbox Code Playgroud) 我CASE
在MYSQL中遇到了语句问题.它总是给我1.
这是我的两个表:
CREATE TABLE A (
a VARCHAR(200),
b VARCHAR(200),
c VARCHAR(200),
PRIMARY KEY (a)
);
CREATE TABLE B (
a VARCHAR(200),
d VARCHAR(200),
e VARCHAR(200)
FOREIGN KEY (a) REFERENCES A(a)
);
Run Code Online (Sandbox Code Playgroud)
所以我正在进行一个简单的加入,A
并B
喜欢这样:
CREATE VIEW C AS (
SELECT
a,
b,
CASE
WHEN '0' THEN '0'
WHEN '1' THEN '1'
WHEN 'WEEKDAY' THEN '0'
WHEN 'WEEKEND' THEN '1'
ELSE ''
END AS c,
d,
e
FROM
B
RIGHT OUTER JOIN A ON
B.a = …
Run Code Online (Sandbox Code Playgroud)