linux 学习笔记 1
新学期开始,刚过的短学期忙着写C++课程设计,新学期虽然课不少但课外要作的事少多了。
最近在linux公社上看了几个帖子,决定开始认真学习linux。
先从shell–bash开始。
最近从网络上下载的大量图片,文件名的格式为ID_{Date}_{A NUMBER}_{INDEX}_
最近在linux公社上看了几个帖子,决定开始认真学习linux。
先从shell–bash开始。
最近从网络上下载的大量图片,文件名的格式为ID_{Date}_{A NUMBER}_{INDEX}_
{SOMETHING ELSE} (不含有{ 和})。决定写一个脚本整理一下。
按{Date}_{A NUMBER} 整理到不同的目录下。(这样的文件往往是从同一个的地方下的)
一开始准备通过循环,在循环中,先用find命令得到第一文件然后将类似的文件移动到对
应的文件夹中。最终将所有文件处理完闭。但是就是没有办法使find命令只返回第一个文
件,或从中截取到第一个文件名。
接着找到了awk这个强大的工具。不过我发现awk后面的{action},似乎不能是系统命令。
最后采取了如下的方法
ls -1 |awk -F_ ‘/^ID/{print “if [ -d ""$2"_"$3"" ]; then “;print “echo
“”";print “else”;print “mkdir “$2″_”$3;print “mv “$1″_”$2″_”$3″*
“$2″_”$3;print “fi”;}’>go
/bin/bash go
rm go
在awk中形成一系列命令序列,重定向到一个文件中,再从文件中执行命令,完成操作。