Bash 我如何替换连续的“\";只有一个“\";来自变量中的字符串
(我将使用u而不是空白和\n而不是换行来更好地描述这种情况:) 如果我执行Bash 我如何替换连续的“\";只有一个“\";来自变量中的字符串,bash,sed,Bash,Sed,(我将使用u而不是空白和\n而不是换行来更好地描述这种情况:) 如果我执行 str_text=`vilistextum -u -p - - <<< "$str_html"`; printf "$str_text" 我试过类似的东西 str_text=`vilistextum -u -p - - <<< "$str_html" | sed 's/\n//g'`; str_text=`vilistextum-u-p---把你的问题变成: 如何删除只有空白字符
str_text=`vilistextum -u -p - - <<< "$str_html"`;
printf "$str_text"
我试过类似的东西
str_text=`vilistextum -u -p - - <<< "$str_html" | sed 's/\n//g'`;
str_text=`vilistextum-u-p---把你的问题变成:
如何删除只有空白字符的行
答案是
grep -E \\w
如果还希望消除非空行中的尾随空格,请执行以下操作:
grep -E \\w | sed -r 's/ +$//g'
使用awk
您可以尝试以下操作:
THISISAWord
\n_
\n___
\n_
ANOTHERWORD
\n_
...
\n__
ANOTHERWORD
\n
\n
\n__
\n_
THISISAWord
\n
ANOTHERWORD
\n
ANOTHERWORD
awk 'NF{print $0}' ORS='\n\n' <<< "$str_text"
awk'NF{print$0}ORS='\n\n'仅查看包含某些内容的行:
格雷普。文件
发现
手册页:
句点(.)在括号表达式之外使用时,是一个基本的正则表达式,它匹配任何可打印或不可打印的字符,除了
这应该是你想要的
cmd | sed -n 's/.*[^[:space:]].*/&\n/p'
-n
开关关闭默认的打印每行行为
s/./../p
表示打印发生替换的行
&
包含与s//
左侧的整个模式匹配的字符串
如果一行至少包含一个非空白字符,请在该行末尾添加一个换行符。否则(仅包含换行符和空格等空白字符的行),
别理他们
sed的/\n//g'
不起作用,因为sed
使用换行符作为记录分隔符。因此,它将文件视为line1\nline2\nline3
等,而不是line1
,line2
,line3
等
Kaizen ~/so_test $ cat ztempfile3.txt | nl | grep -v '\n' | tr '[0-9]' '\n'
THISISAWord
ANOTHERWORD
ANOTHERWORD
我只是在尝试。。。。。这有帮助吗?你有实际的\n
吗,还是那些换行符?@eichertc你能用你遇到的问题更新你的问题吗?不要将解决方案编辑到问题中-这就是绿色复选标记(接受)的作用,说明什么样的解决方案对你有效。你为什么说:很难说出这里要问什么。?我的英语不是很好,但我想你知道什么是连续的新行。它返回类似:??getopt返回字符代码0165 u\n最后一行
用于哪个源?把它上传到某个地方。
$ str_text=$(awk 'NF{print $0}' ORS='\n\n' <<< "$str_text")
$ echo "$str_text"
THISISAWORD
ANOTHERWORD
ANOTHERWORD
cmd | sed -n 's/.*[^[:space:]].*/&\n/p'
Kaizen ~/so_test $ cat ztempfile3.txt | nl | grep -v '\n' | tr '[0-9]' '\n'
THISISAWord
ANOTHERWORD
ANOTHERWORD