Bash从.txt字符串中删除特定内容
我目前正在bash中编写一个脚本,输出当前活动的域列表并返回200状态码,它当前返回以下内容:Bash从.txt字符串中删除特定内容,bash,Bash,我目前正在bash中编写一个脚本,输出当前活动的域列表并返回200状态码,它当前返回以下内容: https://example.com [200] https://google.com [200] https://facebook.com [200] 我想使用bash从文本文件的每一行删除[200],这可能吗 编辑: 在发布之前,我确实搜索了答案,并尝试使用sedsed-I-e的/[[200]]//g'200.txt,但似乎没有效果。假设input.txt是文本文件,试试看 cut--deli
https://example.com [200]
https://google.com [200]
https://facebook.com [200]
我想使用bash从文本文件的每一行删除[200]
,这可能吗
编辑:
在发布之前,我确实搜索了答案,并尝试使用sed
sed-I-e的/[[200]]//g'200.txt
,但似乎没有效果。假设input.txt
是文本文件,试试看
cut--delimiter=''--fields=1 input.txt
这是不言自明的。一个纯bash解决方案,使用:
. 你找了什么,找到了什么?你尝试过什么,失败的原因是什么?谢谢@Cyrus,为了更清晰起见进行了编辑。轻微的选择
${line%\[[:digit:]*\]}
或者如果你假设在最后一个空格处中断,那么最小的${line%*}
就可以了。
$ line=$(echo https://example.com [200])
$
$ echo ${line% \[[0-9][0-9][0-9]]}
https://example.com