嘿,我有一个问题。
\n这是我正在使用的命令(在 的位置echo $file是一个不同的命令。我简化了它):
find /home/cas/plex-media/series/ -type f -name "*" ! -name "*.srt" -print0 | sort | xargs -0 -n1 -I{} file={} && echo $file
它说这file={}不是一个命令,这是真的,因为它是一个变量。我需要每次将该变量设置为输出的一行,就像 xargs 对命令所做的那样。但我需要它来填充变量,然后为排序输出的每一行使用该变量运行该命令。
例子:
\n作为输入(又名排序输出):
\n/home/cas/plex-media/series/Pok\xc3\xa9mon/Season 1/Pok\xc3\xa9mon - S01E01 - Pok\xc3\xa9mon - I Choose You!.mp4\n/home/cas/plex-media/series/Pok\xc3\xa9mon/Season 1/Pok\xc3\xa9mon - S01E02 - Pok\xc3\xa9mon Emergency.mp4\n/home/cas/plex-media/series/Pok\xc3\xa9mon/Season 1/Pok\xc3\xa9mon - S01E03 - Ash Catches a Pok\xc3\xa9mon.mp4 \nRun Code Online (Sandbox Code Playgroud)\n我希望 xargs 每次执行它:
\nfile=/home/cas/plex-media/series/Pok\xc3\xa9mon/Season 1/Pok\xc3\xa9mon - S01E01 - Pok\xc3\xa9mon - I Choose You!.mp4 …Run Code Online (Sandbox Code Playgroud) 假设我有以下文件:
$ cat test.txt
a
-----
b
-----
-----
c
-----
-----
-----
d
-----
e
-----
-----
Run Code Online (Sandbox Code Playgroud)
现在我想删除所有-----, 但前提是它们相互重复。所以结果应该是这样的:
a
-----
b
-----
c
-----
d
-----
e
-----
Run Code Online (Sandbox Code Playgroud)
我试过了grep -Pvz -- "-----\n-----",但这没有用。
mkdir我正在根据变量构建文件路径(并对其进行处理):
mkdir "$root_folder/$title ($year)"
Run Code Online (Sandbox Code Playgroud)
我遇到了 $title 为 的情况9/11: Inside the President's War Room。这/是一个问题,因为 mkdir 会将其解释为文件夹路径。所以我想将 all 替换/为\/,以便 mkdir 从字面上理解它,而不是认为它是一条路径。名称中'的 也带来了问题。所以我也想全部替换'为\'但这比我想象的要难。
/我的最终目标是按照字面解释这些文件夹的方式制作文件夹'。我已经尝试过的一些事情:
title=$(echo "$title" | sed -e "s|'|$(echo "\\")\'|g")
${title/\//\\/}
#---
title=$(echo "$title" | sed -e "s|'|$(echo "\\")\'|g" -e "s|/|\\/|g")
$title
#---
mkdir "$root_folder/'$title ($year)'"
Run Code Online (Sandbox Code Playgroud)