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

sh/bash/dash/ksh/zsh等Shell脚本
回复
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙
送出感谢: 4 次
接收感谢: 256 次

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

#1

帖子 eexpress » 2006-08-11 19:19

想把文本文件的每行内容加上""分割(空行剔除),变成命令行输出的这样:
"xxxx" "xxxx" "xxxxx" "xxxx"

sed似乎不好处理\n换行符号。
上次由 eexpress 在 2006-08-12 22:31,总共编辑 1 次。
● 鸣学
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙
送出感谢: 4 次
接收感谢: 256 次

#2

帖子 eexpress » 2006-08-11 20:43

还有。如何找最终执行的bash的路径。
比如ln -s了一个到bin目录。$0找出的路径就已经是bin的路径了,而不是源文件的路径。
● 鸣学
头像
5451vs5451
帖子: 345
注册时间: 2006-07-14 18:56
来自: Apple Valley, Planet Tux, Linux System
送出感谢: 0
接收感谢: 0

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

#3

帖子 5451vs5451 » 2006-08-11 21:06

eexpress 写了:想把文本文件的每行内容加上""分割(空行剔除),变成命令行输出的这样:
"xxxx" "xxxx" "xxxxx" "xxxx"

sed似乎不好处理\n换行符号。
awk '/^$/ { next } { printf(""%s"", $0) }' data.txt
头像
5451vs5451
帖子: 345
注册时间: 2006-07-14 18:56
来自: Apple Valley, Planet Tux, Linux System
送出感谢: 0
接收感谢: 0

#4

帖子 5451vs5451 » 2006-08-11 21:20

eexpress 写了:还有。如何找最终执行的bash的路径。
比如ln -s了一个到bin目录。$0找出的路径就已经是bin的路径了,而不是源文件的路径。
你是要找符号链接的路径?
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙
送出感谢: 4 次
接收感谢: 256 次

#5

帖子 eexpress » 2006-08-11 22:14

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"
● 鸣学
头像
5451vs5451
帖子: 345
注册时间: 2006-07-14 18:56
来自: Apple Valley, Planet Tux, Linux System
送出感谢: 0
接收感谢: 0

#6

帖子 5451vs5451 » 2006-08-12 21:45

symb=$0
while [ -h $symb ]; do symb=$(ls -l $symb | sed -n 's/.*-> \(.*\)/\1/p'); done; echo $symb
conf=$(dirname $symb)/command.ini
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙
送出感谢: 4 次
接收感谢: 256 次

#7

帖子 eexpress » 2006-08-12 22:12

readlink。呵呵。这个可以。也多谢你。
● 鸣学
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙
送出感谢: 4 次
接收感谢: 256 次

#8

帖子 eexpress » 2006-08-12 22:33

最后修改好的bash。
命令列表显示,加到任意菜单,按键里面。我是加到了/usr/local/bin/。再加到fvwmbuttons和yab的按键里面。
附件
cmd-常用命令点击.tar.gz
(727 Bytes) 下载 57 次
● 鸣学
回复

回到 “Shell脚本”