草庐IT

linux - 从文件名创建目录并移动 bash

我有一大堆文件BR0200.aaa.tsvBR0200.bbb.tsvBR0200.ccc.tsvBR0210.aaa.tsvBR0210.bbb.tsvBR0210.ccc.tsvW0210.aaa.tsvW0210.aaa.tsvW0210.aaa.tsv我想根据文件名的第一部分到第一个'.'创建一系列目录BR0200BR210W0210然后将相关文件移动到正确的目录(即所有BR0200.*文件到BR0200目录)。我试过bash脚本,但总是出错。如有任何建议,我们将不胜感激。#!/bin/bashforfileinBR*W0*;dodir="${file%%.*}"if[-e$d

linux - 如何使用 wget -i 下载和设置文件名?

我想知道如何为wget定义输入文件,以便下载多个文件并为它们设置自定义名称,使用wget-ifilename使用-O的模拟示例wget-Ocustomnameurl 最佳答案 -Ofilename只有在您给它一个URL时才有效。对于多个URL,所有下载的内容最终都在filename中。您可以使用while...loop:caturls.txt|whilereadurldowget"$url"-O"${url##*/}"# 关于linux-如何使用wget-i下载和设置文件名?,我们在St

linux - 如何使用 wget -i 下载和设置文件名?

我想知道如何为wget定义输入文件,以便下载多个文件并为它们设置自定义名称,使用wget-ifilename使用-O的模拟示例wget-Ocustomnameurl 最佳答案 -Ofilename只有在您给它一个URL时才有效。对于多个URL,所有下载的内容最终都在filename中。您可以使用while...loop:caturls.txt|whilereadurldowget"$url"-O"${url##*/}"# 关于linux-如何使用wget-i下载和设置文件名?,我们在St

regex - 使用 Linux Shell 正则表达式匹配文件名

我需要一种方法来匹配目录中的文件名。例如我有三个文件:CAt_DoG_ZebRa.TXTMOUSE_lion_deer_BIRD.TXTfIsh_biRD_LION.TXT无论如何我都不是正则表达式专家,但是我之前在SnapLogic和Pentaho中使用过类似的东西:(?i).*(?=.*bird)(?=.*lion).*.TXT以上将匹配所有包含单词“bird”和“lion”的文件名,忽略大小写并且单词的顺序无关紧要。很强大!所以它会匹配这两个:MOUSE_lion_deer_BIRD.TXTfIsh_biRD_LION.TXT我结合find和grep尝试了上述的许多变体,但都无济

regex - 使用 Linux Shell 正则表达式匹配文件名

我需要一种方法来匹配目录中的文件名。例如我有三个文件:CAt_DoG_ZebRa.TXTMOUSE_lion_deer_BIRD.TXTfIsh_biRD_LION.TXT无论如何我都不是正则表达式专家,但是我之前在SnapLogic和Pentaho中使用过类似的东西:(?i).*(?=.*bird)(?=.*lion).*.TXT以上将匹配所有包含单词“bird”和“lion”的文件名,忽略大小写并且单词的顺序无关紧要。很强大!所以它会匹配这两个:MOUSE_lion_deer_BIRD.TXTfIsh_biRD_LION.TXT我结合find和grep尝试了上述的许多变体,但都无济

php - 为什么 Windows 需要 `utf8_decode` 文件名才能使 `file_get_contents` 工作?

如果$filename包含变音符号(ä,ö,ü)file_get_contents($filename)在我的Windows操作系统上不起作用。通过反复试验,我发现我需要执行file_get_contents(utf8_decode($filename))才能让它工作。但是,当我将它实时推送到我的服务器时(猜测它是某种Linux)它再次返回错误,所以我删除了utf8_decode并且突然间它运行完美。作为解决方法(这样我就不需要每次更改代码时都手动更改这段代码)我已经尝试过了(mb_detect_encoding($filename,'UTF-8',true))?utf8_decode

php - 为什么 Windows 需要 `utf8_decode` 文件名才能使 `file_get_contents` 工作?

如果$filename包含变音符号(ä,ö,ü)file_get_contents($filename)在我的Windows操作系统上不起作用。通过反复试验,我发现我需要执行file_get_contents(utf8_decode($filename))才能让它工作。但是,当我将它实时推送到我的服务器时(猜测它是某种Linux)它再次返回错误,所以我删除了utf8_decode并且突然间它运行完美。作为解决方法(这样我就不需要每次更改代码时都手动更改这段代码)我已经尝试过了(mb_detect_encoding($filename,'UTF-8',true))?utf8_decode

linux - 尽管处理了结果和 grep,如何在 find 中打印文件名

我有一个包含要测试的文件的目录,比如文件A、B和C。为了让事情变得简单,让我们假设我有一个命令,我想对这些文件中的每一个发出命令,并找到给我正确输出的命令。我需要一个管道myCommandfileName|grepExpectedResult(在我的真实案例中,我正在库中寻找一个符号,所以它是readelf-s|grepMySymbol)。我想根据find命令的结果发出此命令。我找到我的结果find.-name*.so-print0|xargs-0myCommand|grepExpectedResult这工作正常,打印ExpectedResult。我要接收的是(假设我要找的文件是B):

linux - 尽管处理了结果和 grep,如何在 find 中打印文件名

我有一个包含要测试的文件的目录,比如文件A、B和C。为了让事情变得简单,让我们假设我有一个命令,我想对这些文件中的每一个发出命令,并找到给我正确输出的命令。我需要一个管道myCommandfileName|grepExpectedResult(在我的真实案例中,我正在库中寻找一个符号,所以它是readelf-s|grepMySymbol)。我想根据find命令的结果发出此命令。我找到我的结果find.-name*.so-print0|xargs-0myCommand|grepExpectedResult这工作正常,打印ExpectedResult。我要接收的是(假设我要找的文件是B):

linux - 查找文件名中数字大于的文件

如果我有10个名为01-a.txt、02-a.txt、...10-a.txt的文件-我如何找到编号大于5的文件?我想要一个通用的解决方案,我会使用类似的东西将所有文件的内容放入一个文件中cat*.txt>bigfile.txt我可以用数字获取文件ls*[0-9]*但似乎无法超越。谢谢。 最佳答案 您可以为此使用seq,但只有当所有文件都具有相同的命名约定时它才有效:seq-f"%02g-a.txt"61006-a.txt07-a.txt08-a.txt09-a.txt10-a.txt即:cat`seq-f"%02g-a.txt"61