标签: bash

奇怪的mv操作

重命名程序的使用严重搞砸了我的一些文件。我正在努力让他们恢复秩序。

我有这样的文件结构:

./Hello World/some-filename.ext
./Kitty Parade/another.ext
./Third Example/abc.ext
./some-filename.ext2
./another.ext2
./abc.ext2

目标是将当前文件夹 (./) 中的文件移回其原始文件夹。

例如:
another.ext2属于./Kitty Parade/文件夹
some-filename.ext2属于./Hello World/文件夹
abc.ex2属于文件夹./Third Example/`

规则可以这样描述:如果当前文件夹(./)中存在文件,则找到包含具有相同文件名(但具有不同扩展名)的文件的文件夹并将其移动到该文件夹​​中。注意:./myFilename与该文件的./originalFolderName.

这发生在 4,000 多个文件上,否则我会手动完成。任何可能的帮助?

bash command-line find mv

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

如何在 Bash 中编写备份最近修改过的文件的脚本?

我编写了这个备份脚本,它查看文件并将最近的文件复制到一个文件夹中。

#!/usr/bin/bash

# the number of days to do the backup for.
days=2;

# the files to backup.
location[0]='/opt/location'

# the location to copy the file to
copyLocation='/users/me/Backup/firstBackupScriptTry'

# preform the back up
for i in ${location[*]}
do
        find $i \! -name '*.class' -mtime -$days \! -type d -exec cp {} $copyLocation \;
done
Run Code Online (Sandbox Code Playgroud)

它有效,但不是那么有用。

我希望脚本在复制时保留目录结构。即我希望它这样做:cp -r from to但只复制最近的文件。

backup unix script bash

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

zip 太好了(Mac OS X)

我使用 zip 将本地目录定期备份到远程机器上。他们不相信这里的 rsync 之类的东西,所以这是我能做的最好的(?)。这是我使用的脚本

echo $(date)>>~/backuplog.txt;
if [[ -e /Volumes/backup/ ]];
then 
    cd /Volumes/Non-RAID_Storage/;
    for file in projects/*; 
        do nice -n 10 zip -vru9 /Volumes/backup/nonRaidStorage.backup.zip "$file" 2>&1 | grep -v "zip info: local extra (21 bytes)">>~/backuplog.txt;
    done;
else 
    echo "backup volume not mounted">>~/backuplog.txt;
fi
Run Code Online (Sandbox Code Playgroud)

这一切都很好,除了 zip 从不使用太多 CPU,所以它似乎比它应该花费的时间更长。它似乎永远不会超过 5%。我试着让它变得更好 -20 但这没有任何区别。仅仅是网络或磁盘速度阻碍了进程还是我做错了什么?

zip bash macos

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

如果其他,则为 Shell 脚本

#!/bin/bash
echo "Int. a number"
read num1
echo "Int. another numer"
read num2
if ["$num1"="$num2"]; then
echo "Equals"
else
echo "Dif"
fi
if["$num1"<0]; then
echo "The number $num1 is negative"
else if ["$num2"<0]; then
echo "The number $num2 is negative"
fi
#
Run Code Online (Sandbox Code Playgroud)

这段代码不起作用,当我看到数字是否小于 0 时,我出了点问题。

谢谢

bash shell-script

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

Bash shell 中的键盘快捷键

我知道一些有用的 Bash shell 快捷方式,我想知道是否还有其他快捷方式。我认识的人:

  • CTRL + W:删除到词首
  • CTRL + U:删除到行首
  • 向上/向下:在以前的命令之间导航

我特别好奇的是以下几点:

  • 删除直到第一个“/”符号或直到点 CTRL + Left 会返回
  • 在以前的帖子中搜索

以及任何其他有用的快捷方式(如果有)。

keyboard-shortcuts bash command-line

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

我的别名不能用了,不知道发生了什么

我创建了一个别名,这样当我输入la它时ls -la

当我在 Mac 上启动终端时,我得到:

-bash: alias: la: not found
-bash: alias: =ls -la: not found
Run Code Online (Sandbox Code Playgroud)

为什么会这样?

我的 .bash_profile 看起来像:

alias la ='ls -la'
Run Code Online (Sandbox Code Playgroud)

mac bash alias

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

Mac 上的 Cron 作业在睡眠期间未运行

我有一个 cron 工作,每天早上 7 点将所有 Google 任务的列表邮寄到我的电子邮件地址。( http://privacylog.blogspot.com/2010/07/api-for-google-tasks.html )

我在我的笔记本电脑上运行它,就像我一样,早上 7 点处于睡眠模式。

我可以在每天将机器从睡眠中唤醒后修复此问题吗?

mac bash cron crontab macos

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

在 Mac OS X 中打开终端时如何修复 bash 错误

Last login: Thu Sep 16 15:13:07 from bubs
-bash: export: `/usr/local/mysql/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/opt/local/bin': not a valid identifier
rick:~ rick$
Run Code Online (Sandbox Code Playgroud)

当我在 OS X 中打开一个新的终端窗口时,它总是给我这个错误。我对 Mac(或 *nix)的所有事情都一无所知,并且找不到在打开窗口时调用此导出命令的配置或其他内容的位置

bash macos

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

使用“历史”命令来触发上次运行命令?

如何使用“history”命令来触发上次运行命令?

linux debian bash ubuntu

2
推荐指数
2
解决办法
849
查看次数

如何最小化我的 Bash shell 提示?

目前终端提示如下所示:

[karlis@karlis-desktop current_folder]$
Run Code Online (Sandbox Code Playgroud)

如何最小化提示,以便它只显示 $ 或 # 而没有方括号中的额外信息?

我检查了默认 Gnome-Terminal 和 Terminator 的首选项 - 没有设置。在长名称的目录中工作时,很难使用终端。

linux bash prompt gnome-terminal

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