小编cho*_*hop的帖子

用于检查文件名的bash脚本以期望的字符串开头

使用bash脚本在OS X上运行:

sourceFile=`basename $1`
shopt -s nocasematch
if [[ "$sourceFile" =~ "adUsers.txt" ]]; then echo success ; else echo fail ; fi
Run Code Online (Sandbox Code Playgroud)

上面的工作,但如果用户来源一个名为adUsers_new.txt?的文件怎么办?

我试过了:

if [[ "$sourceFile" =~ "adUsers*.txt" ]]; then echo success ; else echo fail ; fi
Run Code Online (Sandbox Code Playgroud)

但是在这种情况下,通配符不起作用.我正在编写此脚本以允许用户对源文件名进行不同的迭代,该文件名必须以文件扩展名开头aduser并具有.txt文件扩展名.

bash if-statement pattern-matching string-matching

5
推荐指数
2
解决办法
2万
查看次数

从unix中的'last'命令中获取频繁的用户名 - 有例外

如果我在OS X上运行它:

last -10 | awk '{print $1}'
Run Code Online (Sandbox Code Playgroud)

我得到:剁


chrihopk
重启
关机



chrihopk

如何使用sed或awk获取最频繁的用户'chop'?

对问题的其他编辑:
我们的本地管理员帐户会干扰结果(用户名:支持),并且我们通常会在客户端框中添加新的启动器.
我怎么能修改

last -1  
Run Code Online (Sandbox Code Playgroud)

省略以下内容并返回最后一个有效用户名:

支持
重启
关机

谢谢

unix macos awk sed

4
推荐指数
2
解决办法
1109
查看次数

使用带空格的变量进行bash for循环

我在Mac OS 10.7.x上,需要询问网络服务,以报告针对服务定义的接口以及针对每个接口设置的dns服务器.

servicesAre=`networksetup -listallnetworkservices | tail -n +2 | sed 's/.*/"&"/'` ; 
for interface in $servicesAre ; do 
      printf " \nFor $interface we have:\n \n" ; 
      networksetup -getdnsservers $interface ; 
done
Run Code Online (Sandbox Code Playgroud)

我的问题是接口的初始变量列表中的空格:

"USB Ethernet"  
"Display Ethernet"  
"Wi-Fi"  
"Bluetooth PAN"
Run Code Online (Sandbox Code Playgroud)

我如何通过这些?

macos bash for-loop spaces

3
推荐指数
2
解决办法
3843
查看次数

grep ls跨标签输出

如果我ls -l在一个目录中并得到:

-rwxr-x---  1 user1  admin        0  8 Aug  2012 file.txt
-rwxr-x---  1 user1  admin  1733480 26 Jul  2012 Archive.pax.gz
drwxr-x---@ 7 user1  admin      238 31 Jul  2012 Mac Shots
-rwxr-x---@ 1 user3  admin   598445 31 Jul  2012 Mac Shots.zip
-rwxr-x---@ 1 user1  admin      380  6 Jul  2012 an.sh
-rwxr-x---  1 user2  admin       14 30 Jun  2012 analystName.txt
-rwxr-x---  1 user1  admin       36  8 Aug  2012 apple.txt
drwxr-x---@ 7 user1  admin      238 31 Jul  2012 iPad Shots
-rwxr-x---@ …
Run Code Online (Sandbox Code Playgroud)

bash ls

2
推荐指数
1
解决办法
316
查看次数

OS X Bash列表文件,不包括输入文件中的项目

我需要列出目录的内容,但不包括纯文本文件中的已知文件列表.我假设使用grep或输入重定向或可能是一个while循环但是卡住了.

以下作品但是长篇大论:

 ls ~/Library/Fonts | grep -v 'Onyx\|Playbill\|Georgia\|Garamond\|Tahoma\|Verdana\|Microsoft'
Run Code Online (Sandbox Code Playgroud)

任何帮助赞赏.

macos bash inputstream

0
推荐指数
1
解决办法
329
查看次数