给出两个sed的例子.
sed -i 's/ugly/beautiful/g' /home/bruno/old-friends/sue.txt
Run Code Online (Sandbox Code Playgroud)
这对我来说很容易理解.
但是这个:
$ find /home/bruno/old-friends -type f -exec sed -i 's/ugly/beautiful/g' {} \;
Run Code Online (Sandbox Code Playgroud)
为什么{} \;在第二个中很重要?这有什么意义和意义?我假设`;' 是为-exec.但为什么要逃脱,括号是什么意思呢?可以想象它们与C函数的范围相似吗?
直到昨天,我的Android Studio工作正常并帮助我创建应用程序.但今天,它开始给Gradle错误错误说明不支持主要次要版本51.0并要求我配置gradle.
如果我尝试导回项目,我会得到同样的错误.
我的java版本是Android工作室中7个及更早的Android项目正常工作.
$ /usr/bin/java -version
Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=utf8
java version "1.7.0_07" Java(TM) SE Runtime Environment (build 1.7.0_07-b10) Java HotSpot(TM) 64-Bit Server VM
(build 23.3-b01, mixed mode)
Run Code Online (Sandbox Code Playgroud)
如何用android-studio解决我的gradle问题?
android gradle android-studio build.gradle android-gradle-plugin
我正在编写一个简单的Python CGI脚本来抓取网页并在Web浏览器中显示HTML文件(就像代理一样).这是脚本:
#!/usr/bin/env python3.0
import urllib.request
site = "http://reddit.com/"
site = urllib.request.urlopen(site)
site = site.read()
site = site.decode('utf8')
print("Content-type: text/html\n\n")
print(site)
Run Code Online (Sandbox Code Playgroud)
从命令行运行时,此脚本可以正常工作,但是当它通过Web浏览器查看时,它会显示一个空白页面.这是我在Apache的error_log中得到的错误:
Traceback (most recent call last):
File "/home/public/projects/proxy/script.cgi", line 11, in <module>
print(site)
File "/usr/local/lib/python3.0/io.py", line 1491, in write
b = encoder.encode(s)
File "/usr/local/lib/python3.0/encodings/ascii.py", line 22, in encode
return codecs.ascii_encode(input, self.errors)[0]
UnicodeEncodeError: 'ascii' codec can't encode character '\u2019' in position 33777: ordinal not in range(128)
Run Code Online (Sandbox Code Playgroud) vi(vim)和emacs之间的主要区别之一是emacs被设计并且应该在没有退出的情况下运行,在给定vim的快速加载时间的情况下,更容易退出并开始编辑任务.我读到它已成为这两个编辑用户之间的文化差异.
我倾向于认为保持编辑器始终在运行,有助于提高工作效率,因为您知道,某些事情正在进行中,您无需重新开始.你发现运行单个vim会话并从那里完成所有任务的最佳技巧和插件是什么?
例如,我编辑Python程序,然后退出运行appengine appcfg并返回.有时退出当前文件以打开另一个文件.我还没有习惯缓冲区和标签的概念,而是在我的屏幕会话中运行vim,如果我想编辑多个文件.
嗨,我正在使用GoogleCL 0.9.11版将视频上传到Youtube.我的操作系统是CentOS 5.5和Python 2.5.
其中一个字符串参数包含新行"\n",它无法正常显示.
google youtube post ~/videos/cat-falls-down-stairs.avi Comedy --tags "currency of the internet" --summary "Poor whiskers takes a tumble.\nShe's fine, though, don't worry."
Run Code Online (Sandbox Code Playgroud)
摘要页面显示为:
Poor whiskers takes a tumble.\nShe's fine, though, don't worry.
Run Code Online (Sandbox Code Playgroud)
但我想要:
Poor whiskers takes a tumble.
She's fine, though, don't worry.
Run Code Online (Sandbox Code Playgroud)
"\n"不会起作用.谁有解决方案?
非常感谢!
我有这个简单的程序,它可以正常工作.
#include<stdio.h>
int main(int argc, char *argv[]) {
int mystrlen(char *s);
char s[6] = "ABCDEF";
printf("%d", mystrlen(s)); // print 6
}
int mystrlen(char *s) {
char *p=s; /*Assigning the starting value to p */
while(*s != '\0') {
s = s + 1;
}
return s-p;
}
Run Code Online (Sandbox Code Playgroud)
我将做的唯一更改是int main(int argc, char *argv[]),我将使用int main(void),而不是发送任何命令行参数.
现在,同样的程序对我来说完全行为不端!
#include<stdio.h>
int main(void)
{
int mystrlen(char *s);
char s[6]="ABCDEF";
printf("%d",mystrlen(s)); // prints 8 !!
}
int mystrlen(char *s) {
char *p=s; /*Assigning …Run Code Online (Sandbox Code Playgroud) 我正在编写一个 javadoc 链接标记,其参数 List 如下所示。
{@link #getVersionMetadata(String, String, String, List<String>)
Run Code Online (Sandbox Code Playgroud)
我感觉不对。IDE 似乎不接受转义 and <。>
{@link #getVersionMetadata(String, String, String, List<String>)
Run Code Online (Sandbox Code Playgroud)
将 List<> 与 javadoc @link 一起使用的正确方法是什么?
此声明和示例来自Nick Parlante的Essential C.
关于C类型语法的一个好处是它避免了当指针结构需要引用自身时出现的循环定义问题.以下定义定义链接列表中的节点.请注意,不需要预先指定节点指针类型.
struct node {
int data;
struct node* next;
};
Run Code Online (Sandbox Code Playgroud)
C编译器如何知道它struct node*何时仍在struct节点内.
存在循环定义的另一示例,其中struct treenode*在进一步向下定义之前使用类型.
typedef struct treenode* Tree;
struct treenode {
int data;
Tree smaller, larger; // equivalently, this line could say
// "struct treenode *smaller, *larger"
};
Run Code Online (Sandbox Code Playgroud)
C编译器如何知道struct treenode*尚未定义的内容.
相关SO问题:当struct中的指针指向结构本身时,C如何解析循环定义?(这是相关的,它没有回答"如何"问题).
编辑:我假设C编译器能够在一次传递中执行此操作.
ls > ls.out
Run Code Online (Sandbox Code Playgroud)
这也包括列表中的ls.out.我的理解是:>(shell输出重定向操作符首先创建一个文件(取STDOUT),如果它尚未存在,然后ls命令即将发挥,它在输出中包含刚刚创建的ls.out文件.这是否正确?如果没有,请您详细说明该命令的运作情况.
同样
wc temp > temp
Run Code Online (Sandbox Code Playgroud)
将在刚刚创建的临时文件中打印0 0 0 temp.
shell的这种行为很有趣.我想知道它是如何工作的.顺便说一句,两者都是Unix编程环境手册中的练习.正如我上面提到的答案,我想要一些专家纠正我的理解.
我有这个片段,我想返回一个实例board来测试解决方案.什么是返回单个项目并耗尽迭代器的好方法?
把它放在一个 final List然后清空它唯一的选择?
public Iterable<Board> solution() {
return new Iterable<Board>() {
@Override
public Iterator<Board> iterator() {
return new Iterator<Board>() {
@Override
public boolean hasNext() {
return false; // change this
}
@Override
public Board next() {
return board; // This does not work
}
@Override
public void remove() {
}
};
}
};
}
Run Code Online (Sandbox Code Playgroud)