草庐IT

linux - 从文件名中删除单词列表

我正在尝试从我的所有文件中的某个目录中删除特定单词的列表,并将它们替换为任何内容。所以:ThisAwesomeContent720pBLAHFOOBANGOOO-30.9.2013.mp4变成:ThisAwesomeContent-30.9.2013.mp4现在以下内容非常适合单个查找和替换一个单词。findpath/to/folder/-maxdepth3-name'*.*'-execdirbash-c'mv-i"$1""${1//foo/}"'bash{}\;我也尝试了多个发现,但这似乎是一个很长的路要走,而且我似乎以这种方式遇到了问题。我有几个问题:希望它不区分大小写需要“${1

linux - 检查是否存在文件名包含空格的文件

我正在Bash中测试文件是否存在,文件名使用$(printf'%q'"$FNAME")进行转义。如以下注释示例所示,使用if[-f$FNAME]总是会产生错误。如何测试包含空格和其他字符的文件名?#!/usr/bin/envbash#codeusedinRaspberryPiPodcastingJukeboxproject#youtube-dl-f17--get-filenamehttps://www.youtube.com/watch?v=AgkM5g_Ob-w#returns"HOWABUNDANCEWILLCHANGETHEWORLD-ElonMusk2017-AgkM5g_Ob

linux - 文件名中的旧 rsync 和空格

源目录是这样确定的:SHOW=${PWD##*/}SRC=wells@server.com:"/mnt/bigfish/video/TV/${SHOW}/"结果是这样的:wells@server.com:/mnt/bigfish/video/TV/TheNameOftheShowWithSpaces/然后尝试像这样运行rsync:rsync-avz-essh"${SRC}".但它告诉我""/mnt/bigfish/video/TV/The"不是目录,""/mnt/bigfish/video/TV/Name"不是目录,等等,无论空间有多大-分隔的单词在源目录的名称中。我该如何解决这个令人

linux - 在 Linux 中仅列出包含字符串的文件名

我只想使用Linux命令列出包含字符串的文件名。使用egrep时,会显示字符串的所有实例,这可能是倍数。例如:egrepdiscomusic_file*.txt可能显示;music_file1.txt:blahblahblahdiscostuffmusic_file1.txt:discoblahblahblahmusic_file1.txt:Iliketolistentoitalodiscomusic_file2.txt:Iliketopartytodiscomusic_file3.txt:Doesyourdoglikedisco?而我想要的是:music_file1.txtmusic

linux - 在 linux 或 windows 中更改目录中的所有文件名和扩展名

我有上千个这样的文件扩展名3_bedroom_villas_in_chennai.html__201308050010_3_bedroom_villas_in_chennai.html__201308080012_3_bedroom_villas_in_chennai.html__201308100012_3_bedroom_villas_in_chennai.html__201308110034_andsoon.....在一个目录中。我想将所有这些更改为以下内容3_bedroom_villas_in_chennai__201308050010_.html3_bedroom_villa

linux - Bash 别名在文件名中创建具有当前时间戳的文件

我正在尝试创建一个bash别名,它会在每次调用别名时打印当前的UNIX时间戳。我的bash配置文件中有以下内容:aliasunix="echo"$(date+%s)""但是,似乎当前的unix时间戳是在获取bash配置文件后立即存储的,并且每次调用别名时都不会更改。例如,如果我每隔10秒调用unix别名三次,输出总是相同的。我如何创建一个别名来评估调用别名时的unix时间戳。这可能吗? 最佳答案 使用单引号防止立即展开。aliasunix='echo$(date+%s)'更新:虽然我很高兴能够解释单引号和双引号之间的不同扩展行为,但

linux - 用于文件名路径列表的 mkdir 命令

我有这样的内容的txt文件/home/username/Desktop/folder/folder3333/IMAGw488.jpg/home/username/Desktop/folder/folder3333/IMAG04f88.jpg/home/username/Desktop/folder/folder3333/IMAGe0488.jpg/home/username/Desktop/folder/folder3333/IMAG0r88.jpg/home/username/Desktop/folder/folder3333//home/username/Desktop/folde

linux - 递归 "normalize"文件名

我的意思是去掉文件名等中的特殊字符。我制作了一个脚本,可以递归地重命名文件[http://pastebin.com/raw.php?i=kXeHbDQw]:例如:之前:THISi.smyfile(1).txt运行脚本后:This-i-s-my-file-1.txt好的。这是:但是:当我想“完全”测试它时,使用这样的文件名:¤¥¦§¨©ª«¬®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÂÃÄÅÆÇÈÊËÌÎÏÐÑÒÔÕרÙUÛUÝÞßàâãäåæçèêëìîïðñòôõ÷øùûýþÿ.txtáíüűúöőóéÁÍÜŰÚÖŐÓÉ!"#$%&'()*+,:;?@[\]^_`{|}~€‚ƒ„…†‡

linux - 核心转储文件名使用 core_pattern %e.%p.core 获取线程名称而不是可执行文件名称

我最近开始使用pthread_setname_np()在我的应用程序中设置一些线程名称。执行此操作后,如果在其中一个命名线程中发生崩溃,则核心转储文件名将获取线程名称而不是具有core_pattern%e.%p.core的可执行文件名称根据coremanpage,core_pattern中的%e标志应该扩展为可执行文件名称。它没有说明线程名称。我想要可执行文件名称而不是线程名称,因为我有其他自动化脚本(不是我维护的)依赖于以应用程序名称开头的核心文件名。这是pthread_setname_np()或core_pattern中的错误吗?我在LinuxCentOS6.7上运行。

python - 为什么 Python 为短于文件系统限制的文件名给出 "OSError: [Errno 36] File name too long"?

以下代码会产生意外异常:open("52bbe674cdc81d4140099b84fa69eea4249bcceee75bcbe4838d911ab076547cfdad3c1c5197752a98e5525fe76613dbe52dcdb1a9a397669babce0f101d010142cffa000000.csv","w")OSError:[Errno36]Filenametoolong:'52bbe674cdc81d4140099b84fa69eea4249bcceee75bcbe4838d911ab076547cfdad3c1c5197752a98e5525fe76613