分页: 1 / 1

文本行变命令参数格式。附加:cmd-常用命令点击.bash

发表于 : 2006-08-11 19:19
eexpress
想把文本文件的每行内容加上""分割(空行剔除),变成命令行输出的这样:
"xxxx" "xxxx" "xxxxx" "xxxx"

sed似乎不好处理\n换行符号。

发表于 : 2006-08-11 20:43
eexpress
还有。如何找最终执行的bash的路径。
比如ln -s了一个到bin目录。$0找出的路径就已经是bin的路径了,而不是源文件的路径。

Re: 文本行变命令参数格式。那位有好方法。

发表于 : 2006-08-11 21:06
5451vs5451
eexpress 写了:想把文本文件的每行内容加上""分割(空行剔除),变成命令行输出的这样:
"xxxx" "xxxx" "xxxxx" "xxxx"

sed似乎不好处理\n换行符号。
awk '/^$/ { next } { printf(""%s"", $0) }' data.txt

发表于 : 2006-08-11 21:20
5451vs5451
eexpress 写了:还有。如何找最终执行的bash的路径。
比如ln -s了一个到bin目录。$0找出的路径就已经是bin的路径了,而不是源文件的路径。
你是要找符号链接的路径?

发表于 : 2006-08-11 22:14
eexpress
for i in `sed -e 's/$/"/' -e 's/^/"/' $conf`
do
cmd="${cmd} $i"
done
我用的这个。

next的不错。一直不知道。awk的printf是容易多了。
//------------------------------

代码: 全选

$ ls -l /usr/local/bin/cmd-exec.bash
lrwxrwxrwx 1 root root 60 2006-08-11 20:42 /usr/local/bin/cmd-exec.bash -> /home/exp/应用/●脚本集合/cmd-常用命令点击.bash
我是要找cmd-常用命令点击.bash这个文件的路径。因为在/home/exp/应用/●脚本集合/ 下面有个配置文件。现在是把配置文件也链接到了 /usr/local/bin 下面。否则会找不到配置。
bash内部这样找的配置文件。

代码: 全选

path=`dirname "$0"`
conf="$path/commands.ini"

发表于 : 2006-08-12 21:45
5451vs5451
symb=$0
while [ -h $symb ]; do symb=$(ls -l $symb | sed -n 's/.*-> \(.*\)/\1/p'); done; echo $symb
conf=$(dirname $symb)/command.ini

发表于 : 2006-08-12 22:12
eexpress
readlink。呵呵。这个可以。也多谢你。

发表于 : 2006-08-12 22:33
eexpress
最后修改好的bash。
命令列表显示,加到任意菜单,按键里面。我是加到了/usr/local/bin/。再加到fvwmbuttons和yab的按键里面。