0

大家好。

我想知道是否有一个命令集(可能是一个管道集)可用于更改存储在特定目录中的许多同名文件的隐藏属性。

IE。

ls -la inside torrents/music/david_guetta_greatest_hits shows the next files:

drwxrwxrwx  20 crsuarez  staff      680 Apr  9 19:25 .
drwxrwxrwx  20 crsuarez  staff      680 Apr  9 19:11 ..
-rw-r--r--   1 crsuarez  staff  6894561 Apr  9 19:16 .I'm Famous.wma
-rw-r--r--   1 crsuarez  staff  7543777 Apr  9 19:16 .Gettin Over.wma
-rw-r--r--   1 crsuarez  staff  6378465 Apr  9 19:16 .I Gotta Feeling.wma
-rw-r--r--   1 crsuarez  staff  7245793 Apr  9 19:16 .In love with myself.wma
-rw-r--r--   1 crsuarez  staff  7060449 Apr  9 19:16 .It's the Way You Love Me.wma
-rw-r--r--   1 crsuarez  staff  7737313 Apr  9 19:16 .Love Don't Let Me Go.wma
-rw-r--r--   1 crsuarez  staff  7737313 Apr  9 19:16 .Love is Gone.wma
-rw-r--r--   1 crsuarez  staff  6628321 Apr  9 19:16 .Memories.wma
-rw-r--r--   1 crsuarez  staff  7525345 Apr  9 19:16 .Money.wma
-rw-r--r--   1 crsuarez  staff  7806945 Apr  9 19:16 .One Love.wma
-rw-r--r--   1 crsuarez  staff  7192545 Apr  9 19:16 .Sexy Bitch.wma
-rw-r--r--   1 crsuarez  staff  6954977 Apr  9 19:16 .Stay.wma
-rw-r--r--   1 crsuarez  staff  8025057 Apr  9 19:16 .The World is Mine.wma
-rw-r--r--   1 crsuarez  staff  7769057 Apr  9 19:16 .TitaniuM.wma
-rw-r--r--   1 crsuarez  staff  6693857 Apr  9 19:16 .Turn ME ON.wma
-rw-r--r--   1 crsuarez  staff  7215073 Apr  9 19:16 .When Love Takes Over.wma
-rw-r--r--   1 crsuarez  staff  8182753 Apr  9 19:16 .Without YoU.wma

我想用一组命令取消隐藏所有这些文件(我不在乎是否必须使用管道),而不是使用mv .hidden_file_name not_hidden_file_name.

解决方案必须是 OSX 投诉。;)

4

2 回答 2

1

像这样的东西

for origname in .[0-9A-Za-z]*
do   
    if [ -f "${origname}" ]; then
        # compute your newname how you want it
        mv "${origname}" "${newname}
    fi
done

你必须决定你想要你的新名字是什么——你会去掉前导点'.',但只做可能会与现有的同名 .wma 文件发生冲突的事情,所以也可以追加.tmp——比如:

.One Love.wma  --becomes-->  One Love.wma.tmp
于 2012-04-10T01:03:24.050 回答
1

使用prename(rename在 Debian 派生系统上)。

prename 's/^.//' .*.wma
于 2012-04-10T00:39:11.437 回答