我正在研究shell脚本。我想从文件名中提取日期。文件名为:abcd_2014-05-20.tar.gz我想从中提取日期:2014-05-20 最佳答案 echoabcd_2014-05-20.tar.gz|grep-Eo'[[:digit:]]{4}-[[:digit:]]{2}-[[:digit:]]{2}'输出:2014-05-20grep以echo标准输入获得输入,或者如果文件中有这些字符串,您也可以使用cat命令。-E将PATTERN解释为扩展的正则表达式。-o仅显示与PATTERN匹配的匹配行的一部分。[[:digit:
我习惯于面向对象编程。现在,我刚刚开始通过linux学习unixbash脚本。我有一个unix脚本。我想把它分解成“模块”,或者最好是类似于“more”、“ls”等的程序,然后使用管道将我所有的程序链接在一起。例如,“一些输入”我的程序2|myProg3.我想组织我的代码并使其看起来更整洁,而不是全部放在一个脚本中。此外,测试和开发也很容易。是否可以这样做,尤其是作为新手? 最佳答案 有几件事你可以看看,例如在bash中使用别名并将它们存储在bashrc或由bashrc调用的单独文件中这将使运行命令更容易..takealookher
我习惯于面向对象编程。现在,我刚刚开始通过linux学习unixbash脚本。我有一个unix脚本。我想把它分解成“模块”,或者最好是类似于“more”、“ls”等的程序,然后使用管道将我所有的程序链接在一起。例如,“一些输入”我的程序2|myProg3.我想组织我的代码并使其看起来更整洁,而不是全部放在一个脚本中。此外,测试和开发也很容易。是否可以这样做,尤其是作为新手? 最佳答案 有几件事你可以看看,例如在bash中使用别名并将它们存储在bashrc或由bashrc调用的单独文件中这将使运行命令更容易..takealookher
我想在日志文件中搜索多个字符串。只有那些所有搜索字符串都在同一行的条目才应该被高亮显示。我可以为此使用less命令或任何其他更好的选择吗?我的日志文件大小通常只有几GB。 最佳答案 如果要搜索string1或string2,请使用/string1|string2。您说您想要同时找到两者的行:/string1.*string2当你不知道行中的顺序又想看到完整的行时,你将需要/.*string1.*string2.*|.*string2.*string1.*或更短/.*(string1.*string2|string2.*string1
我想在日志文件中搜索多个字符串。只有那些所有搜索字符串都在同一行的条目才应该被高亮显示。我可以为此使用less命令或任何其他更好的选择吗?我的日志文件大小通常只有几GB。 最佳答案 如果要搜索string1或string2,请使用/string1|string2。您说您想要同时找到两者的行:/string1.*string2当你不知道行中的顺序又想看到完整的行时,你将需要/.*string1.*string2.*|.*string2.*string1.*或更短/.*(string1.*string2|string2.*string1
我继承了一个C#网络应用程序(和网络服务),它在Windows上编译并在Linux机器上的Mono上运行。我需要做一些文件权限魔术,这看起来涉及包括程序集:mono.unix.native.那么,我可以在我的Windows框上引用它吗?如果可以,它在哪里? 最佳答案 Mono.Unix.Native是一个命名空间。它所在的程序集名为Mono.Posix.dll。我认为它与Windows的Mono一起提供-即使它不太可能在那里使用。 关于c#-mono.unix.native在哪里,我们在
我继承了一个C#网络应用程序(和网络服务),它在Windows上编译并在Linux机器上的Mono上运行。我需要做一些文件权限魔术,这看起来涉及包括程序集:mono.unix.native.那么,我可以在我的Windows框上引用它吗?如果可以,它在哪里? 最佳答案 Mono.Unix.Native是一个命名空间。它所在的程序集名为Mono.Posix.dll。我认为它与Windows的Mono一起提供-即使它不太可能在那里使用。 关于c#-mono.unix.native在哪里,我们在
希望有人能帮忙解决这个问题。我想弄清楚如何显示包含特定字符串的第一行,即“computer”(txt文件中第一次出现“computer”)。我更愿意使用grep来执行此操作。我知道grep"computer"somefile.txt将显示所有行,包括“计算机”。我渴望学习,如果有人有其他方法,我想听听!谢谢大家 最佳答案 使用grep的匹配计数选项grep-m1"computer"somefile.txt请注意grep在un*x中不是标准的,所以http://www.gnu.org/software/grep/支持这个,如果你的发行
希望有人能帮忙解决这个问题。我想弄清楚如何显示包含特定字符串的第一行,即“computer”(txt文件中第一次出现“computer”)。我更愿意使用grep来执行此操作。我知道grep"computer"somefile.txt将显示所有行,包括“计算机”。我渴望学习,如果有人有其他方法,我想听听!谢谢大家 最佳答案 使用grep的匹配计数选项grep-m1"computer"somefile.txt请注意grep在un*x中不是标准的,所以http://www.gnu.org/software/grep/支持这个,如果你的发行
我想重命名文件夹中的所有文件并添加.xml扩展名。我正在使用Unix。我该怎么做? 最佳答案 在shell上,你可以这样做:forfilein*;doif[-f${file}];thenmv${file}${file}.xmlfidone编辑要在所有子目录上递归执行此操作,您应该使用find:forfilein$(find-typef);domv${file}${file}.xmldone另一方面,如果您要做比这更复杂的事情,您可能不应该使用shell脚本。更好使用JonathanLeffler提供的评论下面:find.-typef