joh*_*ohn 13 bash text-processing sed
我正在尝试将生成的密钥生成一行的txt文件.例:
<----- key start ----->
lkdjasdjskdjaskdjasdkj
skdhfjlkdfjlkdsfjsdlfk
kldshfjlsdhjfksdhfksdj
jdhsfkjsdhfksdjfhskdfh
jhdfkjsdhfkjsdhfkjsdhf
<----- key stop ----->
Run Code Online (Sandbox Code Playgroud)
我希望它看起来像:
lkdjasdjskdjaskdjasdkjskdhfjlkdfjlkdsfjsdlfkkldshfjlsdhjfksdhfksdjjdhsfkjsdhfksdjfhskdfhjhdfkjsdhfkjsdhfkjsdhf
Run Code Online (Sandbox Code Playgroud)
注意我也想要行<----- key start ----->
并<----- key stop ----->
删除.我怎样才能做到这一点?这会完成sed
吗?
Axe*_*sbo 12
要将多行输出转换为单个空格分隔的行,请使用
tr '\n' ' ' < key.txt
Run Code Online (Sandbox Code Playgroud)
我知道这不能回答详细的问题。但这是标题的一种可能答案。我需要这个答案,我的谷歌搜索找到了这个问题。
tail -n +2 key.txt | head -n -1 | tr -d '\n'
Run Code Online (Sandbox Code Playgroud)
tail 用于删除第一行,head 用于删除最后一行,tr 用于删除换行符。
如果您正在寻找一个sed中想要的所有东西,那么我有这个...
sed -n '1h;2,$H;${g;s/\n//g;s/<----- key \(start\|stop\) ----->//g;p}' key.txt
但这并不是很容易理解:)如果您不介意传递几个命令,则可以在其余的答案中使用管道的grep,tr,sed等建议。
在 vim 中,它只是 :%s/^M//
我一直使用它来从行中生成逗号分隔的列表。对于 sed 或 awk,请通过此链接查看许多解决方案:
http://www.unix.com/shell-programming-scripting/35107-remove-line-break.html
例子:
粘贴 -s -d',' tmpfile | sed 's/,/, /g'
归档时间: |
|
查看次数: |
30171 次 |
最近记录: |