匹配时如何查找、匹配和替换行尾
How can i find, match and replace end of line when there is a match
这个问题可能很简单,我是自然语言处理的新手。我有百万行,如下例所示。我想用另一行替换最后一场比赛。
我的问题是这样的
user,user,' i got the sims 3'
user,user,
user,user,' cheer up liz'
user,user,' you ok mate? do you have skype btw?'
user,user,
user,user,' i just played give it away in response to your tweet'
预期输出
user,user,' i got the sims 3'
user,user, 'hi'
user,user,' cheer up liz'
user,user,' you ok mate? do you have skype btw?'
user,user, 'hi'
user,user, 'hi'
user,user,' i just played give it away in response to your tweet'
我已经尝试 sed 在行尾替换为以下无效的代码
sed 's/,$/,""/g' filename > filename 2
sed 's/user,user,$/user,user,""/g' filename > filename 2
sed 's/,$/,''/g' filename > filename 2
sed 's/user,user,$/user,user,''/g' filename > filename 2
使用awk
你可以做到:
awk -v sq="'" 'BEGIN{FS=OFS=","} ~ /^[[:blank:]]*$/{ = " " sq "hi" sq } 1' file
user,user,' i got the sims 3'
user,user, 'hi'
user,user,' cheer up liz'
user,user,' you ok mate? do you have skype btw?'
user,user, 'hi'
user,user,' i just played give it away in response to your tweet'
将您的 sed 代码放在双引号内。
sed "s/,[[:blank:]]*$/, 'hi'/" file
这个问题可能很简单,我是自然语言处理的新手。我有百万行,如下例所示。我想用另一行替换最后一场比赛。
我的问题是这样的
user,user,' i got the sims 3'
user,user,
user,user,' cheer up liz'
user,user,' you ok mate? do you have skype btw?'
user,user,
user,user,' i just played give it away in response to your tweet'
预期输出
user,user,' i got the sims 3'
user,user, 'hi'
user,user,' cheer up liz'
user,user,' you ok mate? do you have skype btw?'
user,user, 'hi'
user,user, 'hi'
user,user,' i just played give it away in response to your tweet'
我已经尝试 sed 在行尾替换为以下无效的代码
sed 's/,$/,""/g' filename > filename 2
sed 's/user,user,$/user,user,""/g' filename > filename 2
sed 's/,$/,''/g' filename > filename 2
sed 's/user,user,$/user,user,''/g' filename > filename 2
使用awk
你可以做到:
awk -v sq="'" 'BEGIN{FS=OFS=","} ~ /^[[:blank:]]*$/{ = " " sq "hi" sq } 1' file
user,user,' i got the sims 3'
user,user, 'hi'
user,user,' cheer up liz'
user,user,' you ok mate? do you have skype btw?'
user,user, 'hi'
user,user,' i just played give it away in response to your tweet'
将您的 sed 代码放在双引号内。
sed "s/,[[:blank:]]*$/, 'hi'/" file