我正在尝试删除括号<>之间的所有内容,如果一行只有一个<>,我可以这样做,但如果一行有多个,则它似乎删除了外部<中的所有内容。 >
.login-form {
width: 250px;
background-color: #eee;
padding: 20px;
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
}
.logo {
width: 100%;
max-height:
}
.img-container {
margin-bottom: 20px;
text-align:center;
}
.form-container {
text-align: center;
}
.button {
width: 80px;
}
input {
width: 200px;
margin-bottom: 10px;
}
/* You can Change the width of small device screen you expected */
@media screen and (max-width: 480px){
.logo {
width: auto;
max-height: 30vh;
min-width: 15vw;
}
}
第一个回声工作正常,但如果一个名词有多个<>,则无法分类。
<div class="login-form">
<div class="img-container">
<img src="https://pmcdeadline2.files.wordpress.com/2016/07/logo-tv-logo.png" alt="logo" class="logo">
</div>
<form class="form-container">
<input type="text" placeholder="Username">
<input type="password" placeholder="Password">
<button>Login</button>
</form>
</div>
感谢
答案 0 :(得分:2)
使用awk
:
# using gsub - recommended
$ echo "1 <a> 2 <b> 3 <c> 4 <d> ...... 1000 <n>" | awk 'gsub(/<[^>]*>/,"")'
1 2 3 4 ...... 1000
# OR using FS and OFS
$ echo "1 <a> 2 <b> 3 <c> 4 <d> ...... 1000 <n>" | awk -F'<[^>]*>' -v OFS='' '$1=$1'
1 2 3 4 ...... 1000
答案 1 :(得分:1)
关注awk会对你有所帮助。
echo "hi, <how> are <you>? " | awk '{for(i=1;i<=NF;i++){if($i~/<.*>/){$i=""}}} 1'
OR
echo "1 <a> 2 <b> 3 <c> 4 <d> ...... 1000 <n>" | awk '{for(i=1;i<=NF;i++){if($i~/<.*>/){$i=""}}} 1'
说明: 只需遍历该行的所有字段(通过启动从i=1
开始直到值{{1}的for循环}}(字段数)),我在检查一个字段的值是否满足正则表达式NF
(意味着它有)然后我将它取消。
答案 2 :(得分:1)
*
与贪婪匹配零次或多次。使用否定字符类<[^>]*>
echo "hi, <how> are <you>? " | sed 's/<[^>]*>//g'