小编Chr*_*our的帖子

shell脚本中的awk代码出错

我正在使用ls命令列出要用作输入的文件.对于找到的每个文件,我需要

  1. 执行系统命令(importdb)并写入日志文件.
  2. 如果在步骤1中创建的日志文件的第2列第6行的第一个字符不是"0",则写入错误日志文件.
  3. 重命名处理的文件,以便在下次运行时不会重新处理.

我的剧本:

#!/bin/sh
ls APCVENMAST_[0-9][0-9][0-9][0-9]_[0-9][0-9] |
while read LINE 
 do
       importdb -a test901 APCVENMAST ${LINE} > importdb${LINE}.log
 awk "{if (NR==6 && substr($2,1,1) != "0")      
       print "ERROR processing ", ${LINE} > importdb${LINE}err.log
        }" < importdb${LINE}.log
       mv  ${LINE} ${LINE}.PROCESSED
 done 
Run Code Online (Sandbox Code Playgroud)

这是非常初步的代码,我是新手,但我无法通过下面的解析错误.

错误上下文是:

{if (NR==6 && >>>  substr(, <<< awk The statement cannot be correctly parsed.
Run Code Online (Sandbox Code Playgroud)

unix shell awk

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

根据列中的文本过滤行

我有一个制表符分隔的文本文件,如下所示:

27  1   hom het:het    het,het,het,het
18  1   hom het:het    hom,het,het,het,het,het,het
29  1   hom het:het    hom,hom,hom,hom,hom,hom,hom,hom,hom,hom,hom,hom,hom,hom
13  1   hom het:het    het,het,het,het,het,het
21  1   hom het:het    hom,het,het,het,het,het,hom,het,hom,het,het,het,hom
25  1   hom het:het    het,hom,het,het,het
29  1   hom het:het    hom,hom,het,hom,het,het,hom,het,het,hom,het,hom,het,hom
18  1   hom het:het    het,het,het
19  1   hom het:het    het,het,hom,het,het,het,het,het,het,hom,het,het,hom,het
Run Code Online (Sandbox Code Playgroud)

我想排除第5列中有'hom'的行.即输出应如下所示:

27  1   hom het:het    het,het,het,het
13  1   hom het:het    het,het,het,het,het,het
18  1   hom het:het    het,het,het
Run Code Online (Sandbox Code Playgroud)

使用unix命令的任何帮助?

unix awk filter

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

是否可以使用awk来区分两个perl数组?

我通常在perl中使用awk在两个文件之间做差异,如下所示.

my @awkoutput = system("awk 'NR == FNR { A[\$0]=1; next } !A[\$0]' file1.txt file2.txt");
Run Code Online (Sandbox Code Playgroud)

但是,是否有可能在两个perl数组之间进行类似的差异?

我认为不可能.我们可能必须将所有perl数组元素移动到文件并执行它.我想要找的就是做diff而不创建文件.

arrays perl awk

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

使用find()Motor [MongoDB + Tornado]时出现BadYieldError

我是python龙卷风框架的新手.我在MongoDB中有一小部分数据.我在我的python文件中使用了一个简单的get函数.我BadYieldError在使用该db.collection.find()选项时得到了一个.但db.collection.find_one()工作正常但它只显示一条记录.

import tornado
import bson
from bson import json_util
from bson.json_util import dumps
class TypeList(APIHandler):
@gen.coroutine
def get(self):
    doc = yield db.vtype.find()
    self.write(json_util.dumps(doc))
Run Code Online (Sandbox Code Playgroud)

错误是:

tornado.gen.BadYieldError:产生未知对象MotorCursor()

python json mongodb tornado-motor

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

在ruby中格式化

我有这个:

artists = search_object.map{|x| x["artistName"]}.uniq
=> ["Metallica", "Madonna", "Lady Gaga"]
Run Code Online (Sandbox Code Playgroud)

我需要这种格式json:

{"artists":[{"name":"Metallica"},{"name":"Madonna"},{"name":"Lady Gaga"}]}
Run Code Online (Sandbox Code Playgroud)

我试过这个:

>>     @api = {}
=> {}
>>          @api[:artists] = artists
=> ["Metallica", "Madonna", "Lady Gaga"]
>> @api
=> {:artists=>["Metallica", "Madonna", "Lady Gaga"]}
Run Code Online (Sandbox Code Playgroud)

我在这样的api调用中需要它:

respond_to do |format|
  format.json { render :json => @api}
end
Run Code Online (Sandbox Code Playgroud)

但是什么回来是不合适的json.

我如何以这种格式获得它?

ruby json ruby-on-rails

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

无法转换值

我试图转换Id字段将其发送到数据库但在DB中类型是bigInt:

var ID_Inscricao = (Label)row.FindControl("Label1");
Run Code Online (Sandbox Code Playgroud)

如何将其转换为与bigInt兼容的类型?我尝试过转换和转换,但都没有奏效.

c# asp.net

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

读取文件并在某个单词后替换测试

我有几个文件,例如:

FileBegin Finance  Open 87547.25 Close 548484.54 EndDay 4 End
Run Code Online (Sandbox Code Playgroud)

另一个文件示例:

FileBegin Finance  Open 344.34 Close -3434.34 EndDay 5 End
Run Code Online (Sandbox Code Playgroud)

我需要读取文件中的文本,并在单词Open之后仅替换数字值,并在单词Open完整之前和之后保留文本的其余部分.我一直在使用这段代码:

    string fileToRead = "c:\\file.txt";
    public void EditValue(string oldValue, string newValue, Control Item)
    {
        if (Item is TextBox)
        {
            string text = File.ReadAllText(fileToRead);
            text = text.Replace(oldValue, newValue);
            File.WriteAllText(activeSaveFile, text);
        }
     }
Run Code Online (Sandbox Code Playgroud)

在单词后面替换数字值的最佳方法是open什么?

c# replace find

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

我认真做错了什么?jquery砌体

您可以查看代码http://jsfiddle.net/2eyzm/.我不知道我做错了什么,但它没有用.盒子应向上滑动以填补空隙.这是正确的吗?

$(function(){
$('#container').masonry({
itemSelector : '.item',
});
});?
Run Code Online (Sandbox Code Playgroud)

jquery

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

在shell中将2个文件连接到1

如何在shell中加入2个文件,例如:

file1 -

server1          monthly      25
server2          monthly      24
server3          daily        21
server4          weekly       7
server5          weekly       7                                         
Run Code Online (Sandbox Code Playgroud)

file2 -

server1          monthly      5
server2          monthly      4
server3          daily        1
server4          weekly       2
Run Code Online (Sandbox Code Playgroud)

你能帮助我得到像这样的输出:

server1          monthly      25     5
server2          monthly      24     4
server3          daily        21     1
server4          weekly       7      2
server5          weekly       7      0
Run Code Online (Sandbox Code Playgroud)

unix linux shell join file

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

如何从字符串中删除双字符和空格

请让我如何从下面的字符串中删除双空格和字符.

String = Test----$$$$19****45@@@@ Nothing

清洁字符串= Test-$19*45@ Nothing

我使用了正则表达式,"\s+"但它只是删除了双空格,我尝试了其他正则表达式,但它太复杂了...请帮助我.

我正在使用vb.net

regex vb.net string double character

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

标签 统计

awk ×3

unix ×3

c# ×2

json ×2

shell ×2

arrays ×1

asp.net ×1

character ×1

double ×1

file ×1

filter ×1

find ×1

join ×1

jquery ×1

linux ×1

mongodb ×1

perl ×1

python ×1

regex ×1

replace ×1

ruby ×1

ruby-on-rails ×1

string ×1

tornado-motor ×1

vb.net ×1