linux shell 编程

qizuyong 2010-02-08 05:12:03
当前目录下有个文件,名为test.log
文件内容如下
include/linux/videodev2.h
include/linux/errno.h
drivers/media/video/v4l2-dev.c

我想通过shell脚本获取各自的目录路径,并且将各自的路径保存在一个变量中,
如 path1="include/linux"
path2="drivers/media/video"

我该怎么做啊,哪位帅哥帮帮忙啊?小女子感激不尽!
...全文
132 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
qizuyong 2011-01-13
  • 打赏
  • 举报
回复
洁舲,我告诉你生命的意义是什么。生命是
因为我们已经来到了这个世界。而这世界上,又有许多爱着我们的人,那些人希望看到
我们笑,看到我们快乐。就像我们希望看到珊珊和中中笑一样。所以,我们要活着,为
那些爱我们的人活着。洁舲,这是义务,不是权利!”

那完美两个字,并不仅仅止于外貌,还要包括风度、仪表、谈吐、
学问、深度、反应,和智能!”

如此认真,如此投入,又如此紧张
qizuyong 2011-01-13
  • 打赏
  • 举报
回复
不论人类的遭遇是幸与不幸,不论哀愁与欢乐,不论痛苦与折磨,不论生活的担子
如何沉重,不论命运之手如何播弄……时间的轮子,却永不停止转动。转走了日与夜。
转走了春夏秋冬。

娇嫩如水的肌肤,洁白如玉

她还没有成熟到可以很理性的分析自己,也没成熟到去找条路逃离自己的噩运。

她的声音轻柔得像涓涓溪流,如水,如歌
qizuyong 2011-01-13
  • 打赏
  • 举报
回复
冰肌玉骨

昨夜星辰昨夜风,画楼西畔桂堂东,身无彩凤双飞翼,心有灵犀一点通……”

你走,我和你一起走!不管到什么地方!我和你一起走!”

你是全世界最美丽最可爱的女孩,没有人可以和你相比,你是最可爱的,你是唯一的!

鲁森尧 光宗、光美和秋虹 玉兰 杨腾 豌豆花
o46382509 2010-02-09
  • 打赏
  • 举报
回复


其实写个扫描器也很简单的啊。

就扫描文件,一行一行的走,每个变量只需保存到该行的最后一个'/'就行了。

快乐田伯光 2010-02-09
  • 打赏
  • 举报
回复
先用${pathname%/*}得到目录名,
然后用uniq去掉相同的目录名,

引用 7 楼 joyself 的回复:
对于相同的结果:
include/linux/videodev2.h
include/linux/errno.h

好像还要用到uniq命令
joyself 2010-02-09
  • 打赏
  • 举报
回复
对于相同的结果:
include/linux/videodev2.h
include/linux/errno.h

好像还要用到uniq命令
yifanernei 2010-02-09
  • 打赏
  • 举报
回复

while read ll
do
FILE=`basename $ll`
DIR=`dirname $ll`
echo "$FILE =====> $DIR"
done <test.log
piedgogo 2010-02-09
  • 打赏
  • 举报
回复
目标,正则表达式~~~~~~~~~~~~祝美女早日练成linux玉女
谭海燕 2010-02-08
  • 打赏
  • 举报
回复
引用 3 楼 qizuyong 的回复:
引用楼主 qizuyong 的回复:
当前目录下有个文件,名为test.log
文件内容如下
include/linux/videodev2.h
include/linux/errno.h
drivers/media/video/v4l2-dev.c

我想通过shell脚本获取各自的目录路径,并且将各自的路径保存在一个变量中,
如 path1="include/linux"
  path2="drivers/media/video"

我该怎么做啊,哪位帅哥帮帮忙啊?小女子感激不尽!

帅哥,感谢你的回答,但是好像没明白我的意思,我的路径和文件名是存在文件中的,而且有很多,事先也不知道文件中的具体路径和文件名,但格式内容都和drivers/media/videov4l2-dev.c类似,我向把里面的路径提取出来


恩。那也好办、
使用awk工具读入一条,然后分析,符合条件就赋值给变量
qizuyong 2010-02-08
  • 打赏
  • 举报
回复
引用楼主 qizuyong 的回复:
当前目录下有个文件,名为test.log
文件内容如下
include/linux/videodev2.h
include/linux/errno.h
drivers/media/video/v4l2-dev.c

我想通过shell脚本获取各自的目录路径,并且将各自的路径保存在一个变量中,
如 path1="include/linux"
  path2="drivers/media/video"

我该怎么做啊,哪位帅哥帮帮忙啊?小女子感激不尽!


帅哥,感谢你的回答,但是好像没明白我的意思,我的路径和文件名是存在文件中的,而且有很多,事先也不知道文件中的具体路径和文件名,但格式内容都和drivers/media/videov4l2-dev.c类似,我向把里面的路径提取出来
谭海燕 2010-02-08
  • 打赏
  • 举报
回复
然后保存变量可以用反引号

FILE_PATH=/usr/bin/ls
bir=`dirname $FILE_PATH` #这看不清楚了,dirname $FILE_PATH是被一对反引号引起来的,也就是你的键盘上的感叹号左边的那个东西。
然后就ok了
谭海燕 2010-02-08
  • 打赏
  • 举报
回复
恩。这个很简单
第一种放方法:你可以在文件目录下脚本运行pwd

第二种:这种方法是最智能的。用dirname命令
这个命令专门是截取文件路径
比如 dirname /usr/bin/ls
运行结果就是/usr/bin

23,125

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧