我正在编写一个shell脚本,它将命令的输出存储在变量中,处理输出,然后回显结果.这是我得到的:
stuff=$(diff -u pens tape)
# process the output
echo $stuff
Run Code Online (Sandbox Code Playgroud)
问题是,我从运行脚本获得的输出是这样的:
--- pens 2009-09-27 10:29:06.000000000 -0400 +++ tape 2009-09-18 16:45:08.000000000 -0400 @@ -1,4 +1,2 @@ -highlighter -marker -pencil -POSIX +masking +duct
Run Code Online (Sandbox Code Playgroud)
虽然我期待这个:
--- pens 2009-09-27 10:29:06.000000000 -0400
+++ tape 2009-09-18 16:45:08.000000000 -0400
@@ -1,4 +1,2 @@
-highlighter
-marker
-pencil
-POSIX
+masking
+duct
Run Code Online (Sandbox Code Playgroud)
看起来新行字符正在以某种方式被删除.我如何让他们说出来?
随着新的Facebook评论模块的发布,人们可以分享他们与各种评论系统的经验 - 特别是Disqus,Echo,激烈的辩论和Facebook评论?
每个系统的优缺点是什么?
谢谢!
我今晚早些时候发布了一个问题 - PHP Wordpress引用了一些引用问题引起我一些问题的问题.
发布了一个答案建议使用echo sprintf.这看起来很干净,并处理可能发生的任何变量和引用问题.我的问题是,使用sprintf的缺点是什么?如果有的话?
echo如果它经常导致混合HTML和PHP的问题,我们为什么要使用它们.作为参考,这是回应的声明:
echo "<img src='"; bloginfo('template_url'); echo "img/" . $f['mainImage'] . ".png' />";
和echo&sprintf:
echo sprintf(
'<img src="%s/img/%s.png" />',
get_bloginfo('template_url'),
$f['mainImage']
);
Run Code Online (Sandbox Code Playgroud) 我想创建一些脚本来填充一些模板并将它们插入到我的项目文件夹中.我想为此使用shell脚本,模板非常小,所以我想将它们嵌入到shell脚本中.问题是echo似乎忽略了我的字符串中的换行符.要么是这样,要么字符串不包含开头的换行符.这是一个例子:
MY_STRING="
Hello, world! This
Is
A
Multi lined
String."
echo -e $MY_STRING
Run Code Online (Sandbox Code Playgroud)
这输出:
Hello, world! This Is A Multi lined String.
我假设echo是罪魁祸首.我怎样才能让它确认换行符?
与这个问题非常相似.
我正在使用BASH中的自动脚本迭代一些事情.偶尔脚本会遇到"-n",echo会尝试解释这个.
试图这样:
$ POSIXLY_CORRECT=1 /bin/echo -n
Run Code Online (Sandbox Code Playgroud)
和
$ POSIXLY_CORRECT=1 /bin/echo "-n"
Run Code Online (Sandbox Code Playgroud)
但它每次都解释了这个论点.
然后这个,但它可以在字符串中点击转义字符,这就是为什么我不想对所有输入应用空字符并使用-e.
$ echo -e "\x00-n"
-n
Run Code Online (Sandbox Code Playgroud)
printf是可能的,但是要避免,除非没有其他选项(并非所有机器都将printf作为实用程序).
$printf "%s" "-n"
-n
Run Code Online (Sandbox Code Playgroud)
那么有没有办法让回声打印"-n"?
我有一些包含特定字符串的文件.我想要做的是,搜索文件的位置; 如果文件存在grep的模式; 如果是真的,做点什么.
find -iname file.xxx| xargs -I {} if grep -Fq "string" {} ; then echo {} ; fi
Run Code Online (Sandbox Code Playgroud)
问题是:
xargs 不使用if语句.echo {}不给出文件名,而是给出{}.我该如何解决这些问题?
请考虑以下echo命令:
echo -e "at\r"
Run Code Online (Sandbox Code Playgroud)
它at在命令行上产生输出,即\ r \n特殊字符已被解释.我想用文件中的一些文本做同样的事情.假设完全相同的序列
at\r
Run Code Online (Sandbox Code Playgroud)
写入一个名为的文件at.txt,然后我想在终端上显示它.但
cat at.txt
Run Code Online (Sandbox Code Playgroud)
给出输出
at\r
Run Code Online (Sandbox Code Playgroud)
什么不是我想要的.我希望解释特殊序列\ r \n,而不仅仅是在终端上打印.有人有什么想法?
谢谢Alex
我正在尝试编写BAT脚本,我有以下内容:
@echo off
REM Comments here
SETLOCAL ENABLEDELAYEDEXPANSION
set PROG_ROOT=C:\Prog
set ONE=1
echo 1>> %PROG_ROOT\test.txt
echo %ONE%>> %PROG_ROOT\test.txt
for /f "tokens=*" %%f in (folders.txt) do (
echo %%f>> %PROG_ROOT\test.txt
)
ENDLOCAL
Run Code Online (Sandbox Code Playgroud)
我的folders.txt包含数字"5".
我的test.txt输出是
ECHO is off
ECHO is off
5
Run Code Online (Sandbox Code Playgroud)
我不明白为什么前两行输出有"ECHO关闭",而第三行输出正确.如何打印正确的输出?
ETA:我试过了
echo 1>> %PROG_ROOT\test.txt
echo %ONE% >> %PROG_ROOT\test.txt
Run Code Online (Sandbox Code Playgroud)
我能打印出来
ECHO is off
1
Run Code Online (Sandbox Code Playgroud)
但是,我不需要在数字后打印尾随空格.
我一直在使用libjingle在四个用户之间建立对等连接以共享数据并启动音频通道.大部分时间都可以正常工作,但是有一个用户的回声问题,这使得呼叫非常不稳定并且很难听取用户的意见.
我试过添加
this.mediaConstraints.optional.add(new MediaConstraints.KeyValuePair("googNoiseSuppression", "true"));
this.mediaConstraints.optional.add(new MediaConstraints.KeyValuePair("googEchoCancellation", "true"));
Run Code Online (Sandbox Code Playgroud)
我在可选参数中添加这些约束,以防我在强制中添加它们断开调用并抛出onRenegotiationNeeded方法.
我列举了一些案例,例如:
1)这可能是1个用户处于扬声器(或耳机足够大)的原因,语音在麦克风中注册并产生回声.(但有时它也没有这个原因)
2)可能有1个音频通道注册两次,并创建一个混响效果,同一用户发送两次数据通道.(无法找到如何调试,我计算音频通道,它们是正常的)
3)两个用户在同一个房间并且发生回声(这是正常情况发生但不是一个问题,因为它不可避免)
我正在寻找建议或解决方案,以防其他人遇到Android webRTC库的此类问题.
implementation 'io.pristine:libjingle:9694@aar'
Run Code Online (Sandbox Code Playgroud)
我起诉的图书馆是这样的,但我也发现最近的webRTC官方图书馆最近更新了,会迁移到那个解决任何这样的问题吗?
我找到的最新图书馆是:
implementation 'org.webrtc:google-webrtc:1.0.22672'
Run Code Online (Sandbox Code Playgroud)
任何帮助将受到高度赞赏.
谢谢