草庐IT

regex - 从文件名中提取信息以进行自动复制

这是我在StackOverflow上的第一篇文章。要温柔。:)我有一个Linux服务器,我可以将电视节目下载到该服务器上,然后手动将文件移动到它们各自的文件夹中,以供我的Plex服务器使用。我想自动化这个过程。我已经做到了以下。文件命名约定Show.Name.SeasonNumberEpisodeNumber.HDTV.X264.etc...Example:Almost.Human.S01E01.720p.HDTV.X264.mkv注意:节目名称可以有不同的长度,带有.在名称中的每个单词之间。我能够从文件名中提取显示文件夹名称。#!/bin/bashreadonlyFILEPATH=~

linux - 参数后文件名的 Bash Tab 补全

我最近从ScientificLinux6迁移到CentOS7,但在新操作系统中遇到bash选项卡补全问题。软件版本$cat/etc/redhat-releaseCentOSLinuxrelease7.1.1503(Core)$uname-r3.10.0-229.14.1.el7.x86_64$bash--versionGNUbash,version4.2.46(1)-release(x86_64-redhat-linux-gnu)我有一个名为./run_prog.sh的bash脚本(可执行文件),它使用-c选项(或long--config=)在命令行上获取配置文件。完整命令示例:./r

regex - 迭代 apache 2 日志文件名并使用 linux bash 比较数字

这是我的/var/www/apache2/log文件夹中的日志示例-./no_domain_access.log.7.gz./no_domain_access.log.8.gz./no_domain_access.log.9.gz./no_domain_error.log.10.gz./no_domain_error.log.11.gz./no_domain_error.log.12.gz./no_domain_error.log.13.gz./no_domain_error.log.14.gz./no_domain_error.log.15.gz./no_domain_error.l

linux - 在 for 循环中排除具有特定前缀的文件名(globbing)

这可能很简单,但我想不通。在for循环中,我想排除某些前缀为zz的文件(例如zz131232.JPG),但我不知道如何排除这些文件。foriin*.JPG;do#dosomethingdone如何修改“for规则”以排除前缀为zz的文件? 最佳答案 有点像foriin*.JPG;do[[$i!="zz"*]]&&echo"$i"done或跳过它们:foriin*.JPG;do[[$i=="zz"*]]&&continue#processtheotherfilesheredone 关于li

c - 通过文件描述符 (fd) 而不是文件名来区分/比较两个文件

在Linux中有什么办法,使用c,使用通用格式生成存储在内存中的两个文件的差异/补丁(即:统一差异,就像命令行diff实用程序一样)?我在一个系统上工作,在该系统中我在内存中生成了两个文本文件,并且没有可用或不需要的外部存储。我需要创建这两个文件的逐行差异,因为它们是mmap的,所以它们没有文件名,阻止我简单地调用system("difffile1.txtfile2.txt").我有可供使用的文件描述符(fd),这是我访问数据的唯一入口点。有没有办法通过比较两个打开的文件来生成差异/补丁?如果实现是MIT/BSD许可的(即:非GPL),那就更好了。谢谢。 最

linux - genisoimage 乱码文件名

我正在尝试为离线RPM存储库构建ISO镜像。我有我需要的文件和结构,但是当我创建ISO镜像时,文件名是乱码:ConsoleKit-32bit-0.2.10-64.65.1.x86_64.rpm成为ConsoleKit-32bit-0.2.10-64..r我已经在命令行中使用以下选项进行了尝试,并得到了相同的结果:genisoimage-f-U-oupdate.iso/data/isogenisoimage-f-l-allow-lowercase-oupdate.iso/data/isogenisoimage-f-l-allow-leading-dots-relaxed-filename

linux - 如何删除文件名中的转义字符?

我想从文件名中删除转义字符,所以这些例子=Web_Help_Desk_Pro%26Lite.pdf=Windows_7_%2b_s-drev.pdf会变成=Web_Help_Desk_ProLite.pdf=Windows_7__s-drev.pdf有谁知道如何在Perl或BASH中执行此操作? 最佳答案 如果$file是你的文件名:my$file='=Web_Help_Desk_Pro%26Lite.pdf';$file=~s/%[0-9a-f]{2}//gi;即将%后跟两个十六进制字符替换为空字符串。

Linux 文件名和文件通配

我有一个文件列表:文件000文件001文件002文件003...文件1100如何匹配编号大于800但小于1000的所有文件?我正在使用linuxbash谢谢编辑实际上,我的文件是这样命名的:ab869.enccp936.encg122345.encx2022.encabc8859-14.encaax5601.enccp936-1.enc所以第一个解决方案不匹配正确的文件:(如何匹配编号在800-999之间的文件? 最佳答案 在shell中,试试这个:lsfile{801..999}这将列出以file801开头并以file999结尾的

python - 从 linux 上的符号链接(symbolic link)执行时如何查找正在运行的脚本的文件名

如果我有一个通过符号链接(symboliclink)执行的python脚本,有没有办法找到脚本的路径而不是符号链接(symboliclink)?我尝试使用this中建议的方法问题,但它们总是返回符号链接(symboliclink)的路径,而不是脚本。例如,当这被保存为我的“/usr/home/philboltt/scripts/test.py”时:#!/usr/bin/pythonimportsysprintsys.argv[0]print__file__然后我创建这个符号链接(symboliclink)ln-s/usr/home/philboltt/scripts/test.py/u

linux - 如何在目录中单独获取最新的文件名?

我正在使用ls-ltr/homedir/mydirectory/work/|tail-n1|cut-d''-f10但这是获得所需结果的一种非常粗略的方法。而且它也不可靠。我简单执行得到的输出ls-ltr/homedir/mydirectory/work/|tail-n1是-rw-r--r--1userpusers1764Apr112:06firstfile.xml所以在这里我得到了文件名。但是如果执行上述命令的输出是这样的-rw-r--r--100userpusers1764Apr112:06firstfile.xml第一个命令失败了!并且可以理解,因为我正在从现在无效的第10个字符中