求单行 sh 代码

sh/bash/dash/ksh/zsh等Shell脚本
回复
头像
自由建客
帖子: 13468
注册时间: 2008-07-30 23:21
系统: Debian stable AMD64

求单行 sh 代码

#1

帖子 自由建客 » 2011-09-04 0:29

代码: 全选

ln /opt/thunderbird/chrome/icons/default/default16.png /usr/share/icons/hicolor/16x16/apps/thunderbird.png
ln /opt/thunderbird/chrome/icons/default/default22.png /usr/share/icons/hicolor/22x22/apps/thunderbird.png
ln /opt/thunderbird/chrome/icons/default/default24.png /usr/share/icons/hicolor/24x24/apps/thunderbird.png
ln /opt/thunderbird/chrome/icons/default/default32.png /usr/share/icons/hicolor/32x32/apps/thunderbird.png
ln /opt/thunderbird/chrome/icons/default/default48.png /usr/share/icons/hicolor/48x48/apps/thunderbird.png
ln /opt/thunderbird/chrome/icons/default/default256.png /usr/share/icons/hicolor/256x256/apps/thunderbird.png
头像
我就是我2
帖子: 1215
注册时间: 2008-12-13 10:55
来自: the Earth
联系:

Re: 求单行 sh 代码

#2

帖子 我就是我2 » 2011-09-04 8:45

代码: 全选

for i in /opt/thunderbird/chrome/icons/default/default*.png;do j=$(sed -r 's/^.*default(.*)\.png$/\1/' <<<"$i");ln $i /usr/share/icons/hicolor/${j}x$j/apps/thunderbird.png;done
试试,希望能行.
苏东坡问佛印道:“人人皆念观世音菩萨,观世音菩萨念谁?”
佛印答道:“念观世音菩萨。”
苏东坡诧异:“为何亦念观世音菩萨?”
曰:“求人不如求己。”


dropbox 誰好奇,誰來點
勞碌一生又如何,虛度一生又如何,你過得開心嗎?人活著就要開心嘛!
头像
Ubuntu与Linux
帖子: 1211
注册时间: 2010-06-09 19:57

Re: 求单行 sh 代码

#3

帖子 Ubuntu与Linux » 2011-09-04 10:39

码盲来帮忙
ln /opt/thunderbird/chrome/icons/default/default16.png /usr/share/icons/hicolor/16x16/apps/thunderbird.png;ln /opt/thunderbird/chrome/icons/default/default22.png /usr/share/icons/hicolor/22x22/apps/thunderbird.png......
以此类推。
头像
我就是我2
帖子: 1215
注册时间: 2008-12-13 10:55
来自: the Earth
联系:

Re: 求单行 sh 代码

#4

帖子 我就是我2 » 2011-09-04 11:43

或者这样试试

代码: 全选

for i in {16,22,24,32,48,256};do ln /opt/thunderbird/chrome/icons/default/default${i}.png /usr/share/icons/hicolor/${i}x${i}/apps/thunderbird.png;done
苏东坡问佛印道:“人人皆念观世音菩萨,观世音菩萨念谁?”
佛印答道:“念观世音菩萨。”
苏东坡诧异:“为何亦念观世音菩萨?”
曰:“求人不如求己。”


dropbox 誰好奇,誰來點
勞碌一生又如何,虛度一生又如何,你過得開心嗎?人活著就要開心嘛!
fnan
帖子: 919
注册时间: 2009-07-01 22:04

Re: 求单行 sh 代码

#5

帖子 fnan » 2011-09-04 18:32

我就是我2 写了:或者这样试试

代码: 全选

for i in {16,22,24,32,48,256};do ln /opt/thunderbird/chrome/icons/default/default${i}.png /usr/share/icons/hicolor/${i}x${i}/apps/thunderbird.png;done
# 能自动的不要手动。
for f in /opt/thunderbird/chrome/icons/default/default*.png;do ln $f /usr/share/icons/hicolor/${f//[^0-9]/}x${f//[^0-9]/}/apps/thunderbird.png;done
bash不如perl精妙,学不到lisp的皮毛,远不够c++强悍,不过可以用。
头像
我就是我2
帖子: 1215
注册时间: 2008-12-13 10:55
来自: the Earth
联系:

Re: 求单行 sh 代码

#6

帖子 我就是我2 » 2011-09-04 21:58

fnan 写了:
我就是我2 写了:或者这样试试

代码: 全选

for i in {16,22,24,32,48,256};do ln /opt/thunderbird/chrome/icons/default/default${i}.png /usr/share/icons/hicolor/${i}x${i}/apps/thunderbird.png;done
# 能自动的不要手动。
for f in /opt/thunderbird/chrome/icons/default/default*.png;do ln $f /usr/share/icons/hicolor/${f//[^0-9]/}x${f//[^0-9]/}/apps/thunderbird.png;done
我是想用变量替换的。${f//[^0-9]/} 。。不懂这样用。再看看13问。
苏东坡问佛印道:“人人皆念观世音菩萨,观世音菩萨念谁?”
佛印答道:“念观世音菩萨。”
苏东坡诧异:“为何亦念观世音菩萨?”
曰:“求人不如求己。”


dropbox 誰好奇,誰來點
勞碌一生又如何,虛度一生又如何,你過得開心嗎?人活著就要開心嘛!
头像
我就是我2
帖子: 1215
注册时间: 2008-12-13 10:55
来自: the Earth
联系:

Re: 求单行 sh 代码

#7

帖子 我就是我2 » 2011-09-04 22:06

另外问一下,在
${f#*./} #号的作用/意思是什么?这些特殊字符的含义不好google.
苏东坡问佛印道:“人人皆念观世音菩萨,观世音菩萨念谁?”
佛印答道:“念观世音菩萨。”
苏东坡诧异:“为何亦念观世音菩萨?”
曰:“求人不如求己。”


dropbox 誰好奇,誰來點
勞碌一生又如何,虛度一生又如何,你過得開心嗎?人活著就要開心嘛!
fnan
帖子: 919
注册时间: 2009-07-01 22:04

Re: 求单行 sh 代码

#8

帖子 fnan » 2011-09-05 0:15

我就是我2 写了:另外问一下,在
${f#*./} #号的作用/意思是什么?这些特殊字符的含义不好google.
# 是前删除最短匹配,*./就是字符./和以前所有字符。
bash不如perl精妙,学不到lisp的皮毛,远不够c++强悍,不过可以用。
头像
我就是我2
帖子: 1215
注册时间: 2008-12-13 10:55
来自: the Earth
联系:

Re: 求单行 sh 代码

#9

帖子 我就是我2 » 2011-09-05 9:00

# 能自动的不要手动。
for f in /opt/thunderbird/chrome/icons/default/default*.png;do ln $f /usr/share/icons/hicolor/${f//[^0-9]/}x${f//[^0-9]/}/apps/thunderbird.png;done
我知道${f//[^0-9]/} 的含义了:保留数字/删除所有非数字字符
## %% // 这三个是最大匹配
# % / 这三个是最小匹配
其中#是向左匹配,#是向右匹配。
苏东坡问佛印道:“人人皆念观世音菩萨,观世音菩萨念谁?”
佛印答道:“念观世音菩萨。”
苏东坡诧异:“为何亦念观世音菩萨?”
曰:“求人不如求己。”


dropbox 誰好奇,誰來點
勞碌一生又如何,虛度一生又如何,你過得開心嗎?人活著就要開心嘛!
回复