Tag: bash

如何从快速电影文件中删除所有元数据?

我的相机将.mov文件作为电影。 我如何从他们中删除所有元数据,这样我就可以放心地在youtube上分享它们而不会意外地分享他们拍摄的时间/地点,我有什么类型的相机等等。命令行单行很好,但如果它太混乱了,GUI程序会更好。

在我再次与控制台交互之前,不会打印Bash提示

我甚至不知道从哪里开始诊断这个。 通常,当命令完成时,提示符将打印自己以执行下一个命令。 但是,这种情况并没有发生。 很难用文字解释,我只想用一个例子: User@Machine:~$ cp /mnt/mountname/directory/textfile.txt . 等待几秒钟后(对于小文件上的此操作来说太长时间)我按Enter ,然后看到: User@Machine:~$ cp /mnt/mountname/directory/textfile.txt . User@Machine:~$ User@Machine:~$ 很明显操作已经完成,但提示没有显示……直到我按下回车键,然后两个提示立即显示。 这基本上似乎总是一个滞后问题。 对它的原因没有真正的可预测性。 我尝试升级到12.04.3(3.8内核,lts-raring),但没有帮助。 更新:刚才我在一个大文本文件上做了一个fgrep ,它正确返回。 但后来我立刻输入了ls ,直到我再次按下输入才打印任何内容。 这种行为似乎与其他任何事情都不一致。 Update2:在某些时候,我认为一些软件包被删除了。 我将dpkg –get-selected与12.04清单进行了比较; 这是未安装的软件包。 他们中的任何一个都会丢失导致问题吗? activity-log-manager-common activity-log-manager-control-center appmenu-gtk3 appmenu-qt apt-clone archdetect-deb brasero-cdrkit colord cryptsetup cryptsetup-bin dmraid duplicity ecryptfs-utils enchant firefox-locale-es firefox-locale-zh-hans folks-common fonts-nanum geoclue geoclue-ubuntu-geoip gir1.2-dbusmenu-gtk-0.4 gir1.2-ubuntuoneui-3.0 gnome-online-accounts gwibber-service-facebook gwibber-service-identica […]

为什么’echo $ VAR |的输出之间存在差异 wc -c’和’echo $ {#VAR}’?

我正在研究一个Bash脚本,某个变量中包含的字符串长度是我的条件之一。 当前字符串是W5u7TBTzF17GGFV8DBJHvgAAAAI 。 最初我在wc -c的帮助下计算字符串长度: $ VAR=’W5u7TBTzF17GGFV8DBJHvgAAAAI’; echo “$VAR” | wc -c 28 但我的脚本条件[[ ${#VAR} -eq 28 ]]永远不会通过。 然后我决定将字符计算在一个。 实际上字符串长度是27个字符, ${#VAR}的值也是27: $ echo “${#VAR}” 27 所以我在想 – 这种差异来自哪里?

对文本文件的特定编辑(awk?)

我有一个看起来像的文件 TITLE 1.000000000000000 10.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 10.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 10.0000000000000000 UU XX C 0.2000000000000028 0.2000000000000028 0.2000000000000028 0.2967599999999990 0.0641000000000034 0.1551499999999990 0.1033699999999982 0.3361099999999979 0.244990000000001 我需要一个脚本来修改底部数字块( C到30以下比原始值少。有这样的方法吗? 到目前为止,我得到的最好的是 $ awk ‘{if(NR>1){for(i=2;i<=NF;i++){$(i)=$(i)-10;}}print;}' data.txt | column -t 但是,这是来自互联网,我不知道如何自己操纵它达到预期的效果。 然而,这不会打印/覆盖当前data.txt ,这就是我想要的。 谢谢您的帮助!

/ bin目录中的程序如何编译成不可读的格式?

我注意到/ bin目录中的大多数命令/程序都是编译的。 我希望自己复制这种不可读的代码格式。 有人可以告诉我为什么和/或这些程序如何通过这种方式? [绿色邮票奖励]:是否没有bash命令打印文件中的所有“人类可读”文本?

如果传递参数是文件或目录,如何签入bash脚本?

我必须在Ubuntu中编写一个简单的bash脚本,它允许我传递一些参数,我想检查这些可以包含空格的参数是文件还是目录。 我怎样才能做到这一点?

为什么不允许使用数字函数名?

考虑以下: $ ksh -c ‘1(){ echo hi;};1’ ksh: 1: invalid function name $ dash -c ‘1(){ echo hi;};1’ dash: 1: Syntax error: Bad function name $ bash -c ‘1(){ echo hi;};1′ bash: `1’: not a valid identifier bash: 1: command not found $ mksh -c ‘1(){ echo hi;};1’ hi 基本上,我试图声明函数1和0 ,它们对于true和false都是shorthands,但是你可以看到我在函数中使用数字名称时遇到了问题。 别名和两位数名称会出现相同的行为。 问题是“为什么”? 它是由POSIX强制执行的吗? 或者只是像伯恩一样的贝壳的怪癖? […]

如何在PATH中包含空格的路径?

我试过了 export TASK=$HOME/Ubuntu\ One和export TASK=”$HOME/Ubuntu One” 但都不起作用。

每3天后逐字执行bash脚本

我想每隔3天执行一次shell脚本。 使用带有01 00 */3 * * crontab实际上不会满足条件,因为它将在31日运行,然后在1个月的第1天运行。 */3语法与1,4,7 … 25,28,31相同。 应该有办法让脚本本身检查条件并在3天没有通过时退出。 所以crontab每天都会执行脚本,但脚本本身会检查是否已经过了3天。 我甚至找到了一些代码,但它给了我语法错误,任何帮助将不胜感激。 if (! (date(“z”) % 3)) { exit; } main.sh: line 1: syntax error near unexpected token `”z”‘ main.sh: line 1: `if (! (date(“z”) % 3)) {‘

Cron作业日志显示“未安装MTA”,这是否会阻止CRON作业完成?

我有一个cron作业,只是在特定目录上运行rsync。 当我运行rsync命令本身sudo rsync -av –delete /directory1 /directory2 ,它运行没有问题,并完全按预期运行。 当Cron作业运行时 – 我在/var/log/syslog.1中看到它并且它说(摘要): Mar 12 11:38:01 ip-xx-xx-xx-xxx CRON[4970]: (root) CMD (rsync –delete /my/directory /backup/directory) Mar 12 11:38:01 ip-xx-xx-xx-xxx CRON[4970]: (CRON) info (No MTA installed, discarding output) 但是文件不在备份目录中(所以它没有完成)。 关于“ No MTA installed ”的第二个声明是否阻止了cron作业的完成? 让cron作业完成并摆脱MTA错误的最佳方法是什么? 我找到了这个答案,但并没有说这是否会阻止工作完成。