我正在尝试使用sed清理URL行以仅提取域名..
所以来自:
http://www.suepearson.co.uk/product/174/71/3816/
Run Code Online (Sandbox Code Playgroud)
我想要:
(有或没有火车斜线,没关系)
我试过了:
sed 's|\(http:\/\/.*?\/\).*|\1|'
Run Code Online (Sandbox Code Playgroud)
和(逃避非贪婪量词)
sed 's|\(http:\/\/.*\?\/\).*|\1|'
Run Code Online (Sandbox Code Playgroud)
但我似乎无法使非贪婪量词工作,所以它总是最终匹配整个字符串.
参考以下线程: Java App:无法正确读取iso-8859-1编码文件
以编程方式确定输入流/文件的正确字符集编码的最佳方法是什么?
我尝试过使用以下内容:
File in = new File(args[0]);
InputStreamReader r = new InputStreamReader(new FileInputStream(in));
System.out.println(r.getEncoding());
Run Code Online (Sandbox Code Playgroud)
但是在我知道用ISO8859_1编码的文件中,上面的代码产生了ASCII,这是不正确的,并且不允许我正确地将文件的内容呈现回控制台.
在Java虚拟机规范说有布尔有限的支持原始类型.
没有专门针对布尔值操作的Java虚拟机指令.相反,Java编程语言中对布尔值进行操作的表达式被编译为使用Java虚拟机int数据类型的值.
以上暗示(虽然我可能误解了它)在操作布尔值时使用int数据类型,但这是一个32位内存构造.假设布尔值仅代表1位信息:
我正在测试Git和Bitbucket.
我在Bitbucket上创建了一个存储库,并创建了一个repo的本地副本,并将文件提交到它中.我似乎无法将文件从我的本地仓库推送到远程仓库.
这是我正在做的事情:
git clone https://me@bitbucket.org/me/test.git
cd test
touch dummy
git add dummy
git commit dummy -m "my first git commit"
git push
Run Code Online (Sandbox Code Playgroud)
最后一行输出:
Everything up-to-date
Run Code Online (Sandbox Code Playgroud)
当我登录Bitbucket时,我看不到我的虚拟文件.
我究竟做错了什么?
编辑:
这样做有效:
git push origin master:master
Run Code Online (Sandbox Code Playgroud)
关于这和简单之间的区别的任何解释git push
?
您可以在maven 设置文件中指定要在脱机模式下运行,但是是否有等效的命令行选项?
我会想象像是这样的东西
mvn install -Dmaven.offline.true
Run Code Online (Sandbox Code Playgroud) 我有一个Java应用程序,它读取已在Excel中创建的CSV文件(例如2007).有谁知道MS Excel使用什么字符集来保存这些文件?
我猜对了:
但我无法使用这些字符集类型解码扩展字符(例如法语强调字母).
我编写了一个在bash(v 4)中使用关联数组的脚本.
它在我正在使用的本地机器上工作正常4.1.5(1)-release
.
在生产计算机上,使用4.1.0(1)-release
以下行声明assoc数组失败:
declare -A uniqjars
Run Code Online (Sandbox Code Playgroud)
随着消息:
/script.sh: line 11: declare: -A: invalid option
declare: usage: declare [-afFirtx] [-p] [name[=value] ...]
Run Code Online (Sandbox Code Playgroud)
我觉得这是一个普通的bash 4功能?
在生产机器上bash的人讨论使用,-A
所以我认为它应该工作.
使用关联数组创建 .
declare -A name
我可以通过打印出值来确认脚本是否正在使用正确版本的bash echo 'bash -version
.
我能做错什么?
是否可以根据appender为单个Logger配置不同的日志级别?
我意识到这与这个问题类似,这是我自己已经拥有的,但问题是这个阈值适用于记录到该appender的所有记录器,而我只希望阈值适用于单一记录器.
即到目前为止我有这样的事情:
log4j.rootLogger=WARN, stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Threshold=WARN
log4j.appender.stdout.layout=org.apache.log4j.SimpleLayout
log4j.logger.mylogger=DEBUG,logfile
log4j.appender.logfile=org.apache.log4j.DailyRollingFileAppender
log4j.appender.logfile.DatePattern=${roll.pattern.daily}
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern=%d{${datestamp}} [%t] %-5p %C{2} - %m%n
log4j.appender.logfile.File=mylogfile.log
Run Code Online (Sandbox Code Playgroud)
我希望将mylogger DEBUG消息发送到logfile appender,但我也希望将mylogger INFO消息发送到stdout appender(但是对于所有其他记录器只能发送警告).使用阈值将stdout限制为WARN会限制mylogger的输出.
当使用HttpURLConnection时,如果我们不"获取"并使用它,则需要关闭InputStream吗?
即这样安全吗?
HttpURLConnection conn = (HttpURLConnection) uri.getURI().toURL().openConnection();
conn.connect();
// check for content type I don't care about
if (conn.getContentType.equals("image/gif") return;
// get stream and read from it
InputStream is = conn.getInputStream();
try {
// read from is
} finally {
is.close();
}
Run Code Online (Sandbox Code Playgroud)
其次,在完全读取所有内容之前关闭InputStream是否安全?
是否存在将底层套接字置于ESTABLISHED或甚至CLOSE_WAIT状态的风险?
我想知道我是否可以突出显示匹配某些字符串的shell命令的输出.
例如,如果我运行myCommand,输出如下:
> myCommand
DEBUG foo bar
INFO bla bla
ERROR yak yak
Run Code Online (Sandbox Code Playgroud)
我希望所有符合^ ERROR\s.*的行都突出显示为红色.
同样,我希望同样的突出显示应用于grep的输出,less等...
编辑:我可能应该提到,理想情况下我想通过我的.bashrc中的'profile'选项全局启用此功能.