我有一个结构如下的目录:
.
??? Test.txt
??? Test1
? ??? Test1.txt
? ??? Test1_copy.txt
? ??? Test1a
? ??? Test1a.txt
? ??? Test1a_copy.txt
??? Test2
??? Test2.txt
??? Test2_copy.txt
??? Test2a
??? Test2a.txt
??? Test2a_copy.txt
Run Code Online (Sandbox Code Playgroud)
我想创建一个bash脚本,对该目录中的每个文件进行md5校验和.我希望能够在CLI中键入脚本名称,然后输入我想要哈希的目录的路径并让它工作.我确信有很多方法可以实现这一目标.目前我有:
#!/bin/bash
for file in "$1" ; do
md5 >> "${1}__checksums.md5"
done
Run Code Online (Sandbox Code Playgroud)
这只是挂起而且不起作用.也许我应该使用find?
一个警告 - 我想要哈希的目录将包含具有不同扩展名的文件,并且可能并不总是具有完全相同的树结构.我想要一些能在这些不同情况下起作用的东西.
如果我跑:
mkdir -p "$HOME"/old_foo && find "$HOME" -type d -name "*foo" -exec mv -vi {} "$HOME"/new_foo \;
我得到:
/Users/medialab/old_foo -> /Users/medialab/new_foo
但是也:
find: /Users/medialab/old_foo: No such file or directory
为什么find在目录 old_foo 已经移动后还要搜索它?
我尝试向 date_of_birth 和 date_of_death 添加 NULL,但这没有帮助。为什么数据被截断?(特别是因为目前没有任何数据......)
另外,我根本不理解警告 1261。第 5 行与第 1-4 行没有区别。
谢谢!
以下脚本:
-- create the people table
DROP TABLE IF EXISTS people;
CREATE TABLE people (
full_name varchar (50) NOT NULL,
people_ID varchar (15) NOT NULL,
date_of_birth DATE,
date_of_death DATE,
PRIMARY KEY(people_ID))
ENGINE = INNODB;
LOAD DATA LOCAL INFILE "People.csv"
INTO TABLE people
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 LINES;
Run Code Online (Sandbox Code Playgroud)
给我这些错误:
Query OK, 5 rows affected, 10 warnings (0.00 sec)
Records: …Run Code Online (Sandbox Code Playgroud)