小编dur*_*597的帖子

在匹配文本之前插入新的文本行

在文本文件中,我想使用perl在另一行文本的每个匹配之前插入一行新文本.

示例 - 我的文件是:

holiday
april
icecream: sunday
jujubee
carefree
icecream: sunday
Christmas
icecream: sunday
towel

...
Run Code Online (Sandbox Code Playgroud)

我想'icecream: saturday'在' icecream: sunday'行之前插入一行文本.所以之后,文本文件看起来像.是的,我需要结肠:在搜索和替换模式中都.

holiday
april
icecream: saturday
icecream: sunday
jujubee
carefree
icecream: saturday
icecream: sunday
Christmas
icecream: saturday
icecream: sunday
towel
...
Run Code Online (Sandbox Code Playgroud)

我想在Windows PC上使用perl 5.14来做这件事.我已经安装了Perl.我在这个网站上搜索并尝试了很多其他的例子,但它们并不适合我,不幸的是我不是Perl的完整专家.

如果有一个例子也使用sed我也有Cygwin sed.

perl file-io parsing insertion

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

在Java中复制数据的速度更快?

我被赋予了从服务器复制数据的任务.我正在使用BufferedInputStream和输出流来复制数据,我正在逐字节地进行.即使它正在运行但复制数据需要花费很长时间,因为其中一些数据是100的MB,所以肯定它不会起作用.任何人都可以建议我Byte副本的Byte副本,以便我的代码可以复制几百MB的文件.缓冲区是2048.

以下是我的代码的样子:

static void copyFiles(SmbFile[] files, String parent) throws IOException {

  SmbFileInputStream input = null;
  FileOutputStream output = null;
  BufferedInputStream buf_input = null;
  try {
    for (SmbFile f : files) {
      System.out.println("Working on files :" + f.getName());
      if (f.isDirectory()) {

        File folderToBeCreated = new File(parent+f.getName());
        if (!folderToBeCreated.exists()) {
          folderToBeCreated.mkdir();
          System.out.println("Folder name " + parent
                + f.getName() + "has been created");
        } else {
          System.out.println("exists");

        }

        copyFiles(f.listFiles(), parent +  f.getName());
      } else {

        input = (SmbFileInputStream) f.getInputStream();

        buf_input = …
Run Code Online (Sandbox Code Playgroud)

java performance file-io copy bufferedinputstream

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

Android位置提供程序包的源代码

我正在尝试为其network_provider实现找到android源代码.到目前为止,我进入com.android.server.location.LocationProviderProxy并发现它从位置提供程序包名称列表中加载包.包名称应该在 com.android.internal.R.array.config_locationProviderPackageNames,我在Android Javadoc网站com.android.internal.R.array上找不到.

这些包及其源代码在哪里?

android network-programming android-source

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

Multimap和gson性能

我正在使用Gson和Guava.我有一个我想序列化的类,看起来像这样的sscce

import com.google.common.collect.Multimap;
public class FooManager {
  private Multimap<String, Foo> managedFoos;
  // other stuff
}
Run Code Online (Sandbox Code Playgroud)

Gson不知道如何序列化.所以我这样做了:

public final class FoomapSerializer implements
                          JsonSerializer<Multimap<String, Foo>> {
  @SuppressWarnings("serial")
  private static final Type t =
          new TypeToken<Map<String, Collection<Foo>>>() {}.getType();

  @Override
  public JsonElement serialize(Multimap<String, Foo> arg0, Type arg1,
        JsonSerializationContext arg2) {
    return arg2.serialize(arg0.asMap(), t);
  }
}
Run Code Online (Sandbox Code Playgroud)

但是,我担心.asMap()一遍又一遍地打电话会很慢,即使潜在的Map事情很少发生变化.(Foo对象的序列化将经常更改,但映射本身不会在初始化之后).有没有更好的办法?

java performance multimap gson guava

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

为什么我的Vim以replacemode开头?

我可能不小心改变了一些设置,但现在我无法弄清楚它是什么.

行为:

  • 每当我编辑现有文件时,Vim都会以replace(R)模式启动.这是本周的新内容.
  • 每当我这样做vim nonExistantFile.txt,Vim就会以正常模式启动

到目前为止诊断的步骤:

  1. /etc/vimrc 没有任何相关性,特别是不含有 startreplace
  2. /home/<myuser>/.vimrc 没有任何相关性,特别是不含有 startreplace
  3. alias没有任何vim关系

平台信息:

  • Vim版本7.3.1314
  • Windows 7 64位
  • 32位Cygwin和Vim二进制文件

其他可能相关的信息:

  • 前一段时间(在此之前)我/etc/vimrc从我的CentOS 6.4机器复制到了Cygwin/etc/vimrc
  • 我最近编辑了一些二进制文件

我很难过,我想不出别的事.

更新:

  • 我把问题缩小到了这个/etc/vimrc片段
  • 奇怪地评论这两个命令中的任何一个解决了这个问题

Vimrc片段(注意:这确实有unix行结尾):

" Only do this part when compiled with support for autocommands
if has("autocmd")
  "<snip>
  " When editing a file, always jump to the last cursor position
  autocmd BufReadPost *
  \ if line("'\"") > 0 && line ("'\"") …
Run Code Online (Sandbox Code Playgroud)

vim configuration

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

我使用 at-command 来获取来电显示,但只写 ok Ring

我正在使用以下方法来检测CallerID有人打电话的时间。

private void Form1_Load(object sender, EventArgs e)
{
    serialPort1.PortName = "COM3";
    serialPort1.RtsEnable = true;
    serialPort1.BaudRate = 9600;
    serialPort1.DataBits = 8;
    serialPort1.RtsEnable = true;
    serialPort1.Open();
    serialPort1.WriteLine("AT+VCID=1" + System.Environment.NewLine);
}

private void serialPort1_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
{
    textBox1.Text += serialPort1.ReadLine();
}
Run Code Online (Sandbox Code Playgroud)

我排除了这样的事情:

RING               //On 1st Ring
DATE = xxxxx       //On 2nd Ring
TIME = xxxx
NMBR = xxxxxxxxx

RING               //On 3rd Ring    
RING               //On 4th Ring
Run Code Online (Sandbox Code Playgroud)

但我刚刚:

OK
RING
RING
RING
Run Code Online (Sandbox Code Playgroud)

笔记:

线路支持CallerID

我猜调制解调器CallerID也支持,因为我看到每个传入铃声都有 RING 这个词

已确认: …

c# at-command

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

如何实现Luhn算法?

我正在尝试创建一个程序来验证基于luhn算法的10到12位长数序列,但是我的程序一直告诉我每个数字都是无效的,即使它们不是.

这个数字应该是有效的,但我的代码不这么认为: 8112189876

这个号码不应该是有效的,我的程序同意这个号码,因为它认为每个号码都是无效的: 8112189875

这是我的代码:

static void luhn(){
    System.out.print("Enter number to validate:\n");
    String pnr = input.nextLine();
    int length = pnr.length();
    int sum = 0;
    for (int i = 1, pos = length - 1; i < 10; i++, pos--){
        char tmp = pnr.charAt(pos);
        int num = tmp - 0
        int product;
        if (i % 2 != 0){
            product = num * 1;
        }
        else{
            product = num * 2;
        }
        if (product > 9)
            product -= 9;
        sum+= product; …
Run Code Online (Sandbox Code Playgroud)

java algorithm luhn

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

如何从保存的模型中使用 pk 提供成功 url?

我用 CompanyCreateView 创建了一个新模型。用 保存后f.save(),我希望浏览器加载成功 url

    url(r'^comp/(?P<pk>\w+)/$', CompanyDetailView.as_view(), name="profile"),
Run Code Online (Sandbox Code Playgroud)

这是我的 CreateView。

class CompanyCreateView(CreateView):
model = Company
form_class = CompanyForm
success_url = "/comp/???pk???"

def form_valid(self, form):
    f = form.save(commit=False)
    f.submitter_id = 99         #dont know how to remove the submitter, its not set in the model
    f.save()

    return super(CreateView, self).form_valid(form)

def get_success_url(self, **kwargs):
        return reverse("profile", kwargs={'pk': self.request.pk})
Run Code Online (Sandbox Code Playgroud)

如何使用 args 参数返回pk

python django url args

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

检查字符是否是Java中的元音的最佳方法是什么?

我正试图检查某个char元音是否是元音.这样做的最佳方法是什么?

java char string-parsing

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

如何在另一列中找到值增加的最后日期?

我在R中有一个数据框,看起来像这样:

person  date         level
Alex    2007-06-01   3
Alex    2008-12-01   4
Alex    2009-12-01   3
Beth    2008-03-01   6
Beth    2010-10-01   6
Beth    2010-12-01   6
Mary    2009-11-04   9
Mary    2012-04-25   9
Mary    2013-09-10   10
Run Code Online (Sandbox Code Playgroud)

我首先按"人"排序,然后按"日期"排序.

我试图找出每个人最后一次增加"水平"的时间.理想情况下,输出看起来像:

person  date
Alex    2008-12-01
Beth    NA
Mary    2013-09-10
Run Code Online (Sandbox Code Playgroud)

r date

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