标签: line-by-line

如何在git gui中逐行登台,尽管"文件末尾没有新行"警告

我使用git gui来选择要为提交暂存的行.这通常像魅力一样.我知道在命令行上执行相同操作的选项.

每当文件最初在文件末尾没有新行时,git gui会识别出这一点并在编辑器中附加警告消息,如屏幕截图所示.

Git Gui

问题

缺少换行符导致的问题是人们不能再分段和提交单独的行.当我右键单击以选择特定行并Stage line for commit从上下文菜单中选择时,会弹出一条错误消息.

错误:致命:第11行腐败的羊皮纸.

该问题并非特定于操作系统,可以在Windows,MacOSX和Linux上重新生成.我知道如果我在文件中添加新行并在继续选择单行之前提交此版本,我可以避免此问题.

重现问题的步骤

  1. 初始化新存储库.
  2. 创建一个包含三行内容的文件,每行包含"Hallo"一词.不要在文件末尾添加新行.
  3. 添加并提交文件.
  4. 编辑相同的文件,在三行之间放置单词.
  5. 打开git gui并尝试逐行进行更改.

请求

我想知道Git是否有一些配置允许我绕过这个问题.一些自动化,例如添加所需新线的钩子也可以.

错误报告

我向Git邮件列表发送了一个错误报告.您可以关注并参与此处的讨论.

git newline git-gui line-by-line git-index

4
推荐指数
1
解决办法
2008
查看次数

错误:ENOENT:没有这样的文件或目录,尽管文件存在

这是我的项目结构:

在此处输入图片说明

这是index.js

var express = require('express');
var router = express.Router();
var fs = require('fs');
var links = require('../models/Links');

var readline = require('linebyline');
var rl = readline('../data.txt');
router.get('/', function (req, res) {

    rl.on('line', function (line, lineCount, byteCount) {
        var data = line.split(',');
        var id = data[0];
        var url = data[1];           
    })
});

module.exports = router;
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

我试过重写

var rl = readline('/../data.txt');
var rl = readline(__dirname +'/../data.txt');
Run Code Online (Sandbox Code Playgroud)

什么都行不通。

node.js line-by-line

4
推荐指数
1
解决办法
4673
查看次数

Python 字符串比较与从文件中读取的行不匹配

我有一个文本文件,每行都有关键字,如下所示:

foo
foo1
^^^^^^^^^
foo5
foo7
Run Code Online (Sandbox Code Playgroud)

^^^^^^^^^是一个标志,设置为一旦到达就中断 for 循环:

keywords = []
    with open("keywords.txt") as f:
        for line in f:
            if line.startswith(request.GET.get('search', '')):
                keywords.append(line.lower())
            if line == "^^^^^^^^^":
                break
Run Code Online (Sandbox Code Playgroud)

在上面的代码中,第二个条件永远不会满足(**if line == "^^^^^^^^^":**)。

我也尝试is==(但没想到它能起作用,而且没有)。

当我尝试时line.startswith("^^^^^^"):,满足条件,循环结束。我想知道为什么==在上述情况下不起作用。

寻找一些方向和解释。

python text-files line-by-line

4
推荐指数
1
解决办法
1836
查看次数

std :: thread - 逐行读取文件

我想从输出文件中逐行并行读取.每个线程读取一行然后处理数据.同时下一个线程必须读取下一行.

std::ifstream infile("test.txt");
std::mutex mtx;

void read(int id_thread){
   while(infile.good()){
     mtx.lock();
     std::string sLine;
     getline(infile, sLine);
     std::cout << "Read by thread: " << id_thread;
     std::cout << sLine << std::endl;
     mtx.unlock();
   }
}

void main(){
  std::vector<std::thread> threads;
  for(int i = 0; i < num; i++){
     threads.push_back(std::thread(parallelFun, i));
  }

  for(auto& thread : threads){
      thread.join();
  }
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

当我运行此代码时,我得到这个:第一个线程读取所有行.如何让每个线程读取一行?

在此输入图像描述

编辑

正如评论中提到的,我需要做的就是更大的测试文件.多谢你们!

c++ file-io multithreading line-by-line

3
推荐指数
1
解决办法
1895
查看次数

如何逐行读取文件并在Scala中关闭它?

通常,他们会告诉你

import scala.io.Source
for(line <- Source.fromPath("myfile.txt").getLines())
  println(line)
Run Code Online (Sandbox Code Playgroud)

这似乎让文件保持打开状态.什么是可以接近的对手?

scala readfile line-by-line

3
推荐指数
1
解决办法
6566
查看次数

从stdin读取,同时消耗的内存不超过需要

我试图在python中创建逐行过滤器.但是,stdin.readlines()在开始处理之前读取所有行,并且python耗尽内存(MemoryError).

我怎样才能一次在内存中只有一行

我有这样的代码:

for line in sys.stdin.readlines():
    if( filter.apply( line ) ):
        print( line )
Run Code Online (Sandbox Code Playgroud)

(注意:我在2.6)

python stdin pipe line-by-line

2
推荐指数
1
解决办法
7758
查看次数

如何对字符串中的所有行共同使用bash"吃"缩进字符?

我在shell变量中有一些多行字符串.字符串的所有行都有一个未知的缩进级别,至少有几个空格字符(在我的示例中为8个空格,但可以是任意的).我们来看一下这个示例字符串:

        I am at the root indentation level (8 spaces).
        I am at the root indentation level, too.
            I am one level deeper
            Am too
        I am at the root again
                I am even two levels deeper
                    three
                two
            one
        common
        common
Run Code Online (Sandbox Code Playgroud)

我想要的是一个Bash函数或命令去掉常见的缩进级别(这里有8个空格),所以我得到了这个:

I am at the root indentation level (8 spaces).
I am at the root indentation level, too.
    I am one level deeper
    Am too
I am at the root again
        I am even two levels deeper
            three …
Run Code Online (Sandbox Code Playgroud)

string bash indentation line-by-line

2
推荐指数
1
解决办法
135
查看次数

Vim替代线逐行

我想:s/write/run/在逐行的基础上运行命令.

我们可以指定一系列行,例如:31,44s/write/run/.

我们还可以搜索:/write/并按下n以移至下一个出现位置.

是否有可能以与搜索相同的方式替换,通过按下按钮并替换下一次出现?

vim command substitution line-by-line

1
推荐指数
1
解决办法
131
查看次数

在C#中,如何复制具有任意编码的文件,逐行读取,而不添加或删除换行符

我需要能够获取具有未知编码的文本文件(例如,UTF-8,UTF-16,...)并逐行复制,随时进行特定更改.在这个例子中,我正在改变编码,但是这种处理还有其他用途.

我无法弄清楚的是如何确定最后一行是否有换行符!有些程序关心具有这些记录的文件之间的区别:

Rec1<newline>
Rec2<newline>
Run Code Online (Sandbox Code Playgroud)

和这些文件:

Rec1<newline>
Rec2
Run Code Online (Sandbox Code Playgroud)

如何区分我的代码以便我采取适当的措施?

using (StreamReader reader = new StreamReader(sourcePath))
using (StreamWriter writer = new StreamWriter(destinationPath, false, outputEncoding))
{
    bool isFirstLine = true;

    while (!reader.EndOfStream)
    {
        string line = reader.ReadLine();

        if (isFirstLine)
        {
            writer.Write(line);
            isFirstLine = false;
        }
        else
        {
            writer.Write("\r\n" + line);
        }
    }


    //if (LastLineHasNewline)
    //{
    //  writer.Write("\n");
    //}

    writer.Flush();
}
Run Code Online (Sandbox Code Playgroud)

注释掉的代码是我想要的,但我无法弄清楚如何设置条件lastInputLineHadNewline!请记住,我没有输入文件编码的先验知识.

c# encoding newline streamreader line-by-line

1
推荐指数
1
解决办法
539
查看次数

ansible 将本地文件读取到 var 然后逐行循环读取

我想创建一个剧本,将本地文件读取到 var,然后能够逐行循环遍历这个 var 并在任务中使用这些行。

要获取我使用的文件内容:

file_contents: "{{lookup('file', './myfile.txt')}}" 
Run Code Online (Sandbox Code Playgroud)

我尝试使用:

  • with_file
  • with_item
  • with_lines

但是我没有得到我想要的结果。

任何帮助,将不胜感激。

loops file line-by-line ansible

1
推荐指数
1
解决办法
7068
查看次数

C#逐行检查文件

我正在逐行读取文件,我想编辑我读过的一些行.我想编辑的行必须在它们上面或下面有一些其他特定行,但我不知道如何在C#中表达.例如:

http://www.youtube.com
You Tube | Music | something
Sports
Music
Radio
Clips
http://www.youtube.com/EDIT ME   
Sports
Music
Radio
Clips
Run Code Online (Sandbox Code Playgroud)

我想只在下一行编辑一行

Sports 
Run Code Online (Sandbox Code Playgroud)

而上一行是

Clips
Run Code Online (Sandbox Code Playgroud)

所以我想从上面的例子中编辑的唯一一行是

http://www.youtube.com/EDIT ME 
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

c# file-io line-by-line

0
推荐指数
1
解决办法
378
查看次数