【发布时间】:2014-03-21 18:20:38
【问题描述】:
请多多包涵,因为我对 shell 脚本和 awk 还很陌生。我一直在尝试创建一个播放列表来在 Mplayer 中播放我的一些音乐,但它只有在指定每个文件的完整路径时才有效。我一直在尝试设置一个小 shell 脚本来在每个文件名之前插入 $pwd 的输出并将其写入播放列表,如下所示:
ls | awk '{system("pwd") | getline x; grep -v 0; gsub("\n",""); print x"/"$1}' > playlist.txt
(grep 是为了去掉 system("pwd") 输出的“0”状态)。但是,x 中有一个换行符,所以我得到了输出
/home/(directory)
/Song_1.mp3
/home/(directory)
/Song_2.mp3
而我想要的是
/home/(directory)/Song_1.mp3
/home/(directory)/Song_2.mp3
【问题讨论】:
-
您不应该永远在脚本中使用
ls,除非其唯一目的是向用户显示内容。见mywiki.wooledge.org/ParsingLs