我想在OS X上使用sed编辑文件.我正在使用以下命令:
sed 's/oldword/newword/' file.txt
Run Code Online (Sandbox Code Playgroud)
输出发送到终端. file.txt未被修改.使用以下命令将更改保存到file2.txt:
sed 's/oldword/newword/' file1.txt > file2.txt
Run Code Online (Sandbox Code Playgroud)
但是我不想要另一个文件.我只想编辑file1.txt.我怎样才能做到这一点?
我试过-i标志.这会导致以下错误:
sed: 1: "file1.txt": invalid command code f
Run Code Online (Sandbox Code Playgroud) 这必须是所有程序员不时有的常见问题.如何从文本文件中读取一行?然后下一个问题是我如何写回来.
当然,大多数人在日常编程中都使用高级框架(可以在答案中使用)但有时候知道如何在较低级别进行编程也很好.
我自己知道该怎么做的C,C++以及Objective-C,但它肯定会得心应手,看看它是如何在所有流行的语言来完成,如果仅仅是为了帮助我们做出什么语言来尽我们的文件IO在一个更好的决定.特别是我认为这将是有趣的,看看它是如何在字符串操作语言完成,如:python,ruby当然perl.
所以我想在这里我们可以创建一个社区资源,我们可以为我们的配置文件加注星标,并参考我们何时需要以某种新语言进行文件I/O. 更不用说曝光我们都会得到我们日常不处理的语言.
这是你需要回答的方式:
澄清:
对语言没有特别限制.
C,C++,C#,Java,Objective-C都是伟大的.
如果你知道如何做到这一点的Prolog,Haskell,Fortran,Lisp,或Basic则请请便.
我正在写一段代码:
OutputStream outputStream = new FileOutputStream(createdFile);
GZIPOutputStream gzipOutputStream = new GZIPOutputStream(outputStream);
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(gzipOutputStream));
Run Code Online (Sandbox Code Playgroud)
我是否需要关闭以下每个流或作者?
gzipOutputStream.close();
bw.close();
outputStream.close();
Run Code Online (Sandbox Code Playgroud)
或者只关闭最后一个流好吗?
bw.close();
Run Code Online (Sandbox Code Playgroud) 假设我有一些简单的类,一旦它被实例化为一个对象,我希望能够将其内容序列化为一个文件,并通过稍后加载该文件来检索它......我不知道从哪里开始,如何将此对象序列化为文件需要做什么?
public class SimpleClass {
public string name;
public int id;
public void save() {
/* wtf do I do here? */
}
public static SimpleClass load(String file) {
/* what about here? */
}
}
Run Code Online (Sandbox Code Playgroud)
这可能是世界上最简单的问题,因为这在.NET中是一个非常简单的任务,但在Android中我很新,所以我完全迷失了.
在SVN中是否有一个命令我可以用来删除目录中所有本地丢失的文件?
或者失败了,某种方式只列出那些丢失的文件(或者,在更一般的情况下,具有状态A,D,?等)
我正在寻找一个脚本来搜索模式的文件(或文件列表),如果找到,则用给定的值替换该模式.
思考?
我有一个使用FileReader打开文件的Java进程.如何防止另一个(Java)进程打开此文件,或者至少通知第二个进程该文件已被打开?如果文件是打开的(这解决了我的问题),这是否会自动使第二个进程获得异常,或者我是否必须在第一个进程中使用某种标志或参数显式打开它?
我有一个Java应用程序,它列出了一个文件夹,并打开列表中的每个文件进行处理.它会逐个处理每个文件.每个文件的处理包括读取它并根据内容进行一些计算,大约需要2分钟.我还有另一个Java应用程序执行相同的操作,而是写入文件.我想要的是能够同时运行这些应用程序,所以场景就是这样的.ReadApp列出文件夹并找到文件A,B,C.它打开文件A并开始读取.WriteApp列出文件夹并找到文件A,B,C.它打开文件A,看到它是打开的(通过异常或任何方式)并转到文件B. ReadApp完成文件A并继续到B.它看到它是开放的,继续到C. WriteApp没有至关重要 当ReadApp读取同一文件时写入,反之亦然.它们是不同的过程.
虽然java.io.RandomAccessFile确实有一种close()方法java.io.File没有.这是为什么?文件是否在最终确定时自动关闭?
谢谢!
我曾经多次遇到过这个问题,我希望在同一个目录中有同一个文件的多个版本.我使用C#的方式是通过向文件名添加时间戳,使用类似的方法DateTime.Now.ToString().Replace('/', '-').Replace(':', '.').有一个更好的方法吗?