分页: 1 / 1

求单行 sh 代码

发表于 : 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

Re: 求单行 sh 代码

发表于 : 2011-09-04 8:45
我就是我2

代码: 全选

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
试试,希望能行.

Re: 求单行 sh 代码

发表于 : 2011-09-04 10:39
Ubuntu与Linux
码盲来帮忙
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......
以此类推。

Re: 求单行 sh 代码

发表于 : 2011-09-04 11:43
我就是我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

Re: 求单行 sh 代码

发表于 : 2011-09-04 18:32
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

Re: 求单行 sh 代码

发表于 : 2011-09-04 21:58
我就是我2
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问。

Re: 求单行 sh 代码

发表于 : 2011-09-04 22:06
我就是我2
另外问一下,在
${f#*./} #号的作用/意思是什么?这些特殊字符的含义不好google.

Re: 求单行 sh 代码

发表于 : 2011-09-05 0:15
fnan
我就是我2 写了:另外问一下,在
${f#*./} #号的作用/意思是什么?这些特殊字符的含义不好google.
# 是前删除最短匹配,*./就是字符./和以前所有字符。

Re: 求单行 sh 代码

发表于 : 2011-09-05 9:00
我就是我2
# 能自动的不要手动。
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]/} 的含义了:保留数字/删除所有非数字字符
## %% // 这三个是最大匹配
# % / 这三个是最小匹配
其中#是向左匹配,#是向右匹配。