我正在尝试连接两行iwlist输出。我的grep和sed删除前导和尾随空格的命令工作正常,但我无法获得sed删除\n工作的最后一条语句。我错过了什么?
sudo iwlist wlan0 scanning |
grep -e ESSID -e Signal |
sed -e 's/^[ \t]*//;s/[ \t]*$//' |
sed -e 's/dBm\n/dBm /'
Run Code Online (Sandbox Code Playgroud)
正则表达式在vim.
这件事让我心烦意乱。我正在尝试将两个不同的主机文件下载到一个文件中,如果我依次执行此操作,那么一切都很好,但是当我将第一个文件附加到第二个文件时,^M主机文件的每一行都会出现一个奇怪的字符。
在这里举一个真实的例子我正在做什么
wget https://raw.githubusercontent.com/StevenBlack/hosts/master/hosts -O /etc/hosts && curl -s "https://raw.githubusercontent.com/CHEF-KOCH/CKs-FilterList/master/HOSTS/CK's-Spotify-HOSTS-FilterList.txt" >> /etc/hosts
Run Code Online (Sandbox Code Playgroud)
但是当我单独这样做时,所以
curl -s "https://raw.githubusercontent.com/CHEF-KOCH/CKs-FilterList/master/HOSTS/CK's-Spotify-HOSTS-FilterList.txt" > /tmp/hosts
Run Code Online (Sandbox Code Playgroud)
现在/tmp/hosts完全正常
为什么会发生这种情况?为什么当我单独下载文件时,我没有得到错误的换行符,但当我将它们合并时,却得到了错误的换行符。它应该是0x0a而不是0x0a0x0d,为什么会发生这种情况?
如果您需要查看正在下载的文件,可以访问命令中的链接:
编辑:我尝试仅将第二个主机文件附加到哑主机文件中,并且发生了同样的情况,因此我们可以忽略第一个文件是问题的原因