小编Apr*_*cot的帖子

如何 mv .bin bin

我在我的 Ubuntu 机器上隐藏了一些文件夹。错误地,我也通过使用隐藏了 bin 文件夹

cd /
mv bin .bin
Run Code Online (Sandbox Code Playgroud)

现在我可以 cd 到 .bin,但我无法取消隐藏 bin 目录。有人可以帮忙吗?我正在尝试以下命令:

mv .bin bin
Run Code Online (Sandbox Code Playgroud)

我收到以下错误

bash: /bin/mv: No such file or directory
Run Code Online (Sandbox Code Playgroud)

我试图以 root 身份登录,但我的机器要求我安装登录。在执行 apt-get install login 时,我收到一条消息 login 目前是最新版本。

linux mv

13
推荐指数
1
解决办法
2641
查看次数

将数百万个文件移动到具有特定名称模式的不同目录

我在 Linux 机器上有数百万个具有以下命名法的文件:

1559704165_a1ac6f55fef555ee.jpg
Run Code Online (Sandbox Code Playgroud)

前 10 位数字是时间戳,后跟 a 的数字_是特定的 ID。我想将与特定文件名 ID 匹配的所有文件移动到不同的文件夹。

我在带有文件的目录上试过这个

find . -maxdepth 1 -type f | ??????????_a1ac*.jpg |xargs mv -t "/home/ubuntu/ntest"
Run Code Online (Sandbox Code Playgroud)

但是我收到一个错误指示:

bash 1559704165_a1ac6f55fef555ee.jpg: command not found
Run Code Online (Sandbox Code Playgroud)

当我尝试时,mv ??????????_a1ac*.jpg 我收到参数列表太长错误。我至少有 15 种不同的文件名模式。我如何移动它们。

file-copy

10
推荐指数
3
解决办法
1899
查看次数

Shell 脚本:将多个文件夹中的第一个文件复制到一个文件夹中

在一个目录中,我有数百个子目录。每个子目录都有数百张jpg图片。如果文件夹名为“ABC_DEF”,则文件夹内的文件将被称为“ABC_DEF-001.jpg”、“ABC_DEF-002.jpg”,依此类推。

例如:

---Main Directory
------Sub-Directory ABC_DEF
----------ABC_DEF-001.jpg
----------ABC_DEF-002.jpg
------Sub-Directory ABC_GHI
----------ABC_GHI-001.jpg
----------ABC_GHI-002.jpg
Run Code Online (Sandbox Code Playgroud)

从每个子目录中,我只想将第一个文件(例如,扩展名为 -001.jpg 的文件)复制到名为 DESTDIR 的公共目标文件夹中。

我已经更改了此处给出的代码以适合我的用例。但是,它总是将第一个目录与文件名一起打印,我无法将文件复制到所需的目的地。以下是代码:

DIR=/var/www/html/beeinfo.org/resources/videos/
find "$DIR" -type d |
while read d;
do
    files=$(ls -t "$d" | sed -n '1h; $ { s/\n/,/g; p }')
    printf '%s,%s\n' "$files";
done
Run Code Online (Sandbox Code Playgroud)

我该如何修复此代码?

bash file-copy

5
推荐指数
1
解决办法
2744
查看次数

awk 在 CSV 文件的特定列中搜索和替换字符串

我有一个包含 17 列和百万行的 csv 文件。我想在第 16 列中搜索特定字符串,并用另一个字符串替换该字符串的所有实例。由于程序的其余部分使用 bash 脚本,我认为使用 awk 而不是 Python 搜索和替换。我当前的操作系统是 Rhel6。

以下是我的数据的示例输出:

SUBSCRIBER_ID|ACCOUNT_CATEGORY|ACCOUNT_ACTIVATION_DATE|PACKAGE_NAME|PACKAGE_TYPE|DURATION|ACTIVE_DATE|INACTIVE_DATE|STB_NO|PRIMARY_SECONDARY|MODEL_TYPE|VC_NO|MULTIROOM|STB_TYPE|IPKG|SERVICE_STATE|CURRENT_STATUS
1001098068|ResidentialRegular|01/20/2007|Annual package 199 May17 pack|Basic Package|Annual|08/28/2017||027445053518|Primary|Pace - 31|000223871682|Yes|AMP|Package 199 pack|Market1|Active
1001098068|ResidentialRegular|01/20/2007|Annual Pack|Premium Package|Annual|08/28/2017||027445053518|Primary|Pace - 31|000223871682|Yes|AMP|English Movies pack|Market1|Active
1001098068|ResidentialRegular|01/20/2007|Annual SingleUnit Jun17 Pack|Secondary Pack|Annual|08/28/2017||032089364015|Secondary|Kaon|000017213968|Yes|AMP|SingleUnit|Market2|Active
Run Code Online (Sandbox Code Playgroud)

在此第 16 列是 Market,其中我想Market1MarketPrime. 该文件的名称是marketinfo_2018-06-26.csv

我尝试了以下代码:

awk -F '| +' '{gsub("Market1","MarketPrime",$16); print}' OFS="|" marketinfo_2018-06-26.csv > marketinfo_2018-06-26.csv
Run Code Online (Sandbox Code Playgroud)

这在没有任何输出的情况下运行,但字符串Market1仍然存在。

awk text-processing csv

5
推荐指数
1
解决办法
2万
查看次数

标签 统计

file-copy ×2

awk ×1

bash ×1

csv ×1

linux ×1

mv ×1

text-processing ×1