小编Pau*_*ce.的帖子

grep'ing后保留ls着色

如果我做

$ ls -l --color=always
Run Code Online (Sandbox Code Playgroud)

我得到了一个目录中的文件列表,为不同的文件类型等提供了一些很好的着色.

现在,我希望能够管理ls直通的彩色输出grep来过滤掉一些我不需要的文件.关键是我仍然想在grep过滤器后保留着色.

$ ls -l --color=always | grep -E some_regex
Run Code Online (Sandbox Code Playgroud)

^ grep后我失去了色彩

编辑:我正在使用无头服务器Ubuntu 8.10,Bash 3.2.39,几乎是一个没有花哨配置的股票安装

bash grep ls colors

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

具有相同名称的C++虚拟覆盖函数

我有类似的东西(简化)

class A
{
  public:
    virtual void Function () = 0;
};

class B
{
  public:
    virtual void Function () = 0;
};

class Impl : public A , public B
{
  public:
        ????
};
Run Code Online (Sandbox Code Playgroud)

如何为A实现Function()和为B实现Function()?Visual C++允许您只定义内联的特定函数(即不在cpp文件中),但我认为它是一个扩展.海湾合作委员会抱怨这一点.是否有标准的C++方式告诉编译器我要覆盖哪个函数?

(visual c ++ 2008)

class Impl : public A , public B
{
  public:
     void A::Function () {  cout << "A::Function" << endl; }
     void B::Function () {  cout << "B::Function" << endl; }
};
Run Code Online (Sandbox Code Playgroud)

谢谢!

c++ virtual overriding diamond-problem

20
推荐指数
2
解决办法
4160
查看次数

文本框失去焦点时的Jquery函数

我有文本框,我想在文本框失去焦点时运行一些jquery,所以在用户点击文本框之后.

我试过这样做

$("#textbox").focusout(function () {
    alert("hello");

});
Run Code Online (Sandbox Code Playgroud)

但我得到一个错误,说Object不支持此属性或方法.

那怎么办呢?

jquery

20
推荐指数
3
解决办法
8万
查看次数

如何在特定行之前将文件内容插入到另一个文件中

如何使用sed将特定行之前的文件内容插入到另一个文件中?

示例我有file1.xml具有以下内容:

        <field tagRef="376">
        </field>
        <field tagRef="377">
        </field>
        <field tagRef="58">
        </field>
        <group ref="StandardMessageTrailer" required="true"/>
    </fieldList>
</message>
Run Code Online (Sandbox Code Playgroud)

和file2.xml具有以下内容:

        <field tagRef="9647">
            <description>Offset</description>
        </field>
        <field tagRef="9648">
            <description>Offset Units/Direction</description>
        </field>
        <field tagRef="9646">
            <description>Anchor Price</description>
        </field>
Run Code Online (Sandbox Code Playgroud)

如何才能将file2的内容插入到file1中

<group ref="StandardMessageTrailer" required="true"/>
Run Code Online (Sandbox Code Playgroud)

所以它看起来像这样:

       <field tagRef="376">
        </field>
        <field tagRef="377">
        </field>
        <field tagRef="58">
        </field>
        <field tagRef="9647">
            <description>Offset</description>
        </field>
        <field tagRef="9648">
            <description>Offset Units/Direction</description>
        </field>
        <field tagRef="9646">
            <description>Anchor Price</description>
        </field>
        <group ref="StandardMessageTrailer" required="true"/>
    </fieldList>
</message>
Run Code Online (Sandbox Code Playgroud)

我知道如何使用后插入该行

sed 'group ref="StandardMessageTrailer"/r file2.xml' file1.xml > newfile.xml  
Run Code Online (Sandbox Code Playgroud)

但我想先插入它.

感谢帮助

sed

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

有没有一种很好的方法来检测过时的NFS挂载

我有一个我想要启动的程序,只有几个测试成功完成.

我需要的一个测试是我所有的NFS挂载都很活跃.

我能比蛮力方法做得更好:


mount | sed -n "s/^.* on \(.*\) type nfs .*$/\1/p" | 
while read mount_point ; do 
  timeout 10 ls $mount_point >& /dev/null || echo "stale $mount_point" ; 
done
Run Code Online (Sandbox Code Playgroud)

timeout是一个在后台运行命令的实用程序,如果SIGCHLD在时间限制之前没有捕获,则在给定时间后将其终止,以显而易见的方式返回成功/失败.


英文:解析mount每个NFS挂载点的输出,检查(以超时为限).可选(不在上面的代码中)打破第一个陈旧的安装.

unix linux bash shell nfs

18
推荐指数
4
解决办法
4万
查看次数

Bash数组:意外的语法错误

我正在编写这个简单的bash脚本,如下所示.

#!/bin/bash

array=( /home/abc/Downloads/something.bat /home/abc/Downloads/smb.conf )
echo ${array[@]}
Run Code Online (Sandbox Code Playgroud)

我希望它能打印出数组中所有文件的名称.但我得到了这个错误:

test.sh: 3: Syntax error: "(" unexpected
Run Code Online (Sandbox Code Playgroud)

如果我将数组的声明更改为

array = {/home/abc/Downloads/something.bat /home/abc/Downloads/smb.conf}
Run Code Online (Sandbox Code Playgroud)

这个错误消失但我仍然有新的错误

test.sh: 3: array: not found
test.sh: 4: Bad substitution
Run Code Online (Sandbox Code Playgroud)

我该如何解决这个问题?这是我第一次进行shell编程,所以我自己无法解决问题.

解决:

我正在执行它作为sh test.sh但我忘了我必须执行它作为bash test.sh

arrays syntax bash shell

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

如何在不实际更改到该目录的情况下从特定目录执行命令

我想在目录/ home/user/git/app /中执行像'git tag -l'这样的命令,但我实际上在/ home/user中.如何在不改变工作目录的情况下在bash中执行此操作?

所以不是:

cd /home/user/git/app && git tag -l
Run Code Online (Sandbox Code Playgroud)

因为这实际上改变了我的工作目录,并且必须再次执行'cd/home/user'.

bash scripting

17
推荐指数
3
解决办法
8869
查看次数

Cobol Web开发/托管资源

我在德国的一家大公司工作,并且得到了创建它的主要网站的工作,其中包括:

  • 静态内容; 信息和演示文稿
  • 员工区(约6000名员工),包括日历,职位描述,某种团体等各种事物
  • 太多其他动态的东西我不能在这里列出

我决定使用COBOL来完成工作,它可能会被低估,但它是一种非常强大的语言,特别是对于商业应用程序,正如我的同事所说的那样,web(2.0)开发也是如此.

我还需要使用COBOL,因为公司的所有后端和交易系统都在其中编程(一些小部件也在LISP中编程,我不确切知道为什么).我还收到了一个API,可以轻松地将COBOL与MySQL结合使用.

这是一个大项目,可能需要2个多月的编程时间.

  • 在COBOL中构建庞大的Web应用程序时,我有什么期望?
  • 是否有可用于COBOL的Web框架?某种MVC?
  • 使用COBOL进行实际的Web开发是否有很好的资源?

提前致谢

cobol

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

如何在dosgwin命令行上将dos路径格式化为unix路径

使用Cygwin时,我经常复制Windows路径并手动将所有斜杠编辑为Unix格式.例如,如果我正在使用Cygwin并且需要更改目录,请输入:

cd C:\windows\path 
Run Code Online (Sandbox Code Playgroud)

然后编辑它

cd C:/windows/path  
Run Code Online (Sandbox Code Playgroud)

(通常,路径比这长得多).有没有办法使用sed或其他东西自动执行此操作?例如,我尝试过:

echo C:\windows\path|sed 's|\\|g'  
Run Code Online (Sandbox Code Playgroud)

但得到以下错误

sed: -e expression #1, char 7: unterminated `s' command
Run Code Online (Sandbox Code Playgroud)

我的目标是减少打字,所以也许我可以编写一个我可以调用的程序.理想情况下我会输入:

conversionScript cd C:/windows/path 
Run Code Online (Sandbox Code Playgroud)

这相当于键入:

cd C:\windows\path
Run Code Online (Sandbox Code Playgroud)

unix cygwin sed dos path

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

是否有工具检查Perl脚本是否有不必要的使用语句?

对于Python,有一个名为importchecker的脚本,它告诉您是否有不必要的import语句.

Perl use(和require)语句是否有类似的实用程序?

perl perl-module utility

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

标签 统计

bash ×4

sed ×2

shell ×2

unix ×2

arrays ×1

c++ ×1

cobol ×1

colors ×1

cygwin ×1

diamond-problem ×1

dos ×1

grep ×1

jquery ×1

linux ×1

ls ×1

nfs ×1

overriding ×1

path ×1

perl ×1

perl-module ×1

scripting ×1

syntax ×1

utility ×1

virtual ×1