Mac OS X 有afinfo获取音频文件信息的命令。除了命令之外,是否有类似的命令来获取视频 ( .mov, .m4v) 的视频文件信息mdls?
我正在运行 Mac 并希望过滤top特定进程的命令输出,以便仅显示 PID、COMMAND 和 %CPU 列。
获得进程的PID后,我运行:
top -pid 1234
Run Code Online (Sandbox Code Playgroud)
但是,这会为该过程显示超过 15 列。我可以将“命令”的输出通过管道传输到 awk 并仅显示:
PID COMMAND %CPU
Run Code Online (Sandbox Code Playgroud)
列?
我不想将输出存储在文本文件中然后对其进行处理。我对实时监控流程很感兴趣。
我有一个 plist 文件,我对使用 shell 脚本从嵌套字典中获取值很感兴趣。这是我的 plist 文件的结构:
<dict>
<key>Countries</key>
<dict>
<key>USA</key>
<dict>
<key>Capital</key>
<string>Washington DC</string>
<key>Continent</key>
<string>North America</string>
</dict>
<key>Italy</key>
<dict>
<key>Capital</key>
<string>Rome</string>
<key>Continent</key>
<string>Europe</string>
</dict>
</dict>
</dict>
Run Code Online (Sandbox Code Playgroud)
如果用户提供国家/地区名称,我有兴趣获取分配给“Capital”键的值。
例如,如果我执行以下命令,我会在“国家/地区”字典下获得完整的数据。
defaults read "/Users/sameerp/Downloads/data" Countries 2>&1
Run Code Online (Sandbox Code Playgroud)
我得到以下输出:
{
Italy = {
Capital = Rome;
Continent = Europe;
};
USA = {
Capital = "Washington DC";
Continent = "North America";
};
}
Run Code Online (Sandbox Code Playgroud)
如何修改上面的命令以将“国家”键(例如美国)传递给它并获取“资本”键的值?
我想ls根据文件大小过滤命令的输出。任何大于 100KB 的 .jpg 或 .png 文件都应在输出中报告。
我已经能够过滤 .png / .jpg 文件,但我无法丢弃任何小于 100KB 的文件。
这是我目前正在使用的:
ls -lah | grep '.png\|.jpg'
Run Code Online (Sandbox Code Playgroud)
任何想法我怎么能做到这一点?
我在findMac 上使用该命令搜索名为test1. 现在test1文件夹也可以存在于.Trash文件夹中。如何排除.Trash搜索结果中报告的文件夹或基本上我希望排除的任何文件夹?
$ find $HOME -name test1 -type d
/Users/theuser/.Trash/test1
/Users/theuser/test1
/Users/theuser/Downloads/test1
Run Code Online (Sandbox Code Playgroud)
我希望结果只是
/Users/theuser/test1
/Users/theuser/Downloads/test1
Run Code Online (Sandbox Code Playgroud)
我用过grep:
find $HOME -name test1 -type d | grep -v '.Trash'
Run Code Online (Sandbox Code Playgroud)
过滤掉.Trash结果,但我很想知道find单独使用是否能达到相同的结果。
如何检查文件/文件夹是否已提交给 svn ?我有一个 shell 脚本,我想确保用户为签入选择的文件/文件夹尚未提交。例如,如果我尝试签入已使用的文件夹
svn 添加我的文件夹
我收到以下警告:
svn:警告:“我的文件夹”已经在版本控制之下
我以一副落下的纸牌的形式编写了一个进度指示器(我妻子的想法)。
它尚未达到最终形式。这是代码:
vdeck="| | | | | "
hdeck[1]="__ | | | |"
hdeck[2]="__ __ | | |"
hdeck[3]="__ __ __ | |"
hdeck[4]="__ __ __ __ |"
hdeck[5]="__ __ __ __ __"
while true
do
clear
echo -n -e "\r$vdeck"
sleep 0.8
for i in 1 2 3 4 5
do
echo -n -e "\r${hdeck[$i]}"
sleep 0.2
done
clear
done
Run Code Online (Sandbox Code Playgroud)
是否可以在没有 hdeck 数组的情况下优化此代码并获得相同的效果?增加'|' 意味着增加“hdeck”数组组合,这不好。
我的 shell 脚本中有一个字符串,它采用固定格式:'[STATUS REPORT] PROJECT'. 当用户执行我的 shell 脚本时,他会被要求提供'PROJECT'.
我想'PROJECT'用用户提供的价值替换这个词。例如,如果'ABCD'是用户输入:
'[状态报告] ABCD'
我有两个问题: 1:如何处理项目名称中的“&”等特殊字符?例如:
echo "[STATUS REPORT] PROJECT" | awk '{ gsub(/PROJECT/, "A&A"); print }'
Run Code Online (Sandbox Code Playgroud)
我得到以下输出:
[状态报告] APROJECTA
2:我的实际 shell 语句如下所示:
echo "[STATUS REPORT] PROJECT" | awk '{ gsub(/PROJECT/, $ProjectName); print }'
Run Code Online (Sandbox Code Playgroud)
其中 $ProjectName 存储用户提供的项目名称。但这似乎不起作用
我怎样才能让它正常工作?
bash ×4
shell-script ×4
macos ×3
awk ×2
command-line ×2
dictionary ×1
find ×1
ls ×1
metadata ×1
plist ×1
svn ×1
top ×1
unix ×1
video ×1