Articles of shell

用Awkinput列

我试图让用户input一个值来查看文件中的特定列。 有没有办法使用awk切换列,而不必在所有的开关情况下重复自己? # Code: read -p 'Enter a column:' input for i in "$file_name"; do cat "$i" | awk -v column="$input" '{ print $column }' done 这里有一个更好的解释: view_column() { for i in "$file_name"; do cat "$i" | awk -v col="$1" '{ print $col }' done } print_menu() { menu=( 'First' 'Last' 'Email' 'Exit' ) for […]

如何修改Android的源代码并将其用于Android设备?

首先,我的任务是:永久删除Android 4.0.4表中的底部菜单,其中包括后退,主页和菜单键。 根据我的要求,我不要那样做。 我已经浏览了互联网上关于“如何修改Android源代码”的博客和post的数量。 但是他们中的任何一个都不清楚准确更改源代码,然后在设备中使用它。 我的意思是我使用Android源代码在Android Tablets中使用隐藏和显示系统栏(状态栏+导航栏)下载Android源代码 1 : http : //source.android.com/source/initializing.html,并从这里得到了一些关于改变源代码的想法 但对我来说一无所知。 任何人都可以指向我的明确的博客或video,可以帮助我,因为它一个星期的谷歌search,仍然无法完成。

Bash脚本检查进程是否正在运行,并在必要时读取用户input以启动

在脚本中使用nohup有问题。 如果nohup不用于启动进程,该脚本将正常工作。 运行时收到以下错误: ./iper.sh: line 16: syntax error near unexpected token `;' ./iper.sh: line 16: ` [Yy]*) nohup iperf -s > /dev/null 2>&1&; break;;' 这是完整的脚本: #!/bin/bash echo "Checking to see if Iperf is running:" sleep 2 ps cax | grep iperf > /dev/null if [ $? -eq 0 ]; then echo "Iperf is running." else […]

需要将UTF8和UTF16 .csv文件转换为ASCII

我有脚本将UTF8格式的.csv文件转换为ASCII格式。 现在我想要转换UTF16文件,如果文件是ASCII保持原样。 我正在使用下面的代码单独更改UTF8和UTF16。 帮助这个在一个单一的脚本。 #/bin/bash for i in *.csv do iconv -c -f UTF-8 -t ISO-8859-1 $i -o $i."utf8" mv $i."utf8" $i done 谢谢

SSH:如何为每个用户分配特定的目录?

不,它不是重复的,因为我想通过SSHlogin时将一个目录分配给一个(或多个)用户。 例如,根据用户的logging: userFoo =>我希望他在SSHlogin后到达/somewhere/here/ userBar =>我希望他在SSHlogin后到达/somewhere/here/ userOof =>我希望他在SSHlogin后到达/anywhere/ 等等。 我怎样才能做到这一点 ? (他们与PuTTY连接,我不能强迫他们连接额外的数据,如ssh -t user@server 'cd /home/some/dir ; exec "$SHELL"'

Linux top -b只显示特定列

我想捕获顶部命令的输出在另一个程序中使用,但是我只需要一些信息,更确切地说我只需要USER,PID,CPU,COMMAND列。 我已经有了命令top -b -n 1 | sed -n '7,12p' top -b -n 1 | sed -n '7,12p'来过滤前5个结果,但是我不能再去了,因为我对sed / awk不太了解。 例如:这是我得到的 PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 4 root 20 0 98748 50608 4608 S 6.4 4.9 212:12.16 X 1 root 20 0 2132 128 96 S 0.0 0.0 0:07.62 […]

有些命令不通过SSH(远程服务器上的shell)

我必须在远程服务器上运行一些用户定义的命令。 所以我做了以下。 它适用于许多命令,如crontab -l , ls , date +%s等…但是,它不适用于ip addr 当我实际上ssh INSIDE那些服务器ip addr工作正常。 但是,当我使用SSH执行它没有。 这是我如何执行它。 $ sshpass -p myPassword ssh -q root@127.0.0.1 'ip addr' > $PWD/tmp $ cat $PWD/tmp 再说一遍,除了ip addr以外,这个命令对我所尝试的任何命令都有效。 对于ip addr它提供了以下输出 bash: ip: command not found 所以我想知道为什么,如果有什么问题,我正在做…. 此外,请不要build议使用rsync或任何其他非默认的Linux命令,因为我工作的环境没有它们,也没有我的安装权限。 先谢谢你

是.bashrc进入一个新的bash实例时运行两次?

我想在我的bash提示符中显示嵌套的子shell的数量。 我经常在vim编辑会话中input“:sh”来执行某些操作,然后退回到编辑器。 有时我会试图退出编辑器,忘记我没有进行任何编辑,我的terminalclosures了! 为了避免这种情况,我在我的.bashrc中添加了一些代码来保留嵌套的子shell的数量,并在提示中显示出来。 这里是代码: echo "1: SHLVL=$SHLVL" if [[ -z $SHPID ]] ; then echo "2: SHLVL=$SHLVL" SHPID=$$ let "SHLVL = ${SHLVL:0} + 1" fi echo "3: SHLVL=$SHLVL" (对于那些可能想知道的问题,testing“-z $ SHPID”确保$ SHLVL不会再次增加,如果我再次在同一个shell中运行“.bashrc”,也许testing一下。) 但是输出如下所示: lsiden@morpheus ~ (morpheus) (2) $ bash 1: SHLVL=3 2: SHLVL=3 3: SHLVL=4 lsiden@morpheus ~ (morpheus) (4) $ ps PID TTY TIME […]

修改string以获得variables的工作

我有以下列表: faultsPackage1 faultsPackage2 faultsPackage3 faultsPackage4 faultsPackage5 faultsPackage6 faultsPackage7 seafloor topLowerMiocene topMetamorphicBasement topMiddleEocene topMiddleMiocene topMiddleOligocenetoUpperEocene? topPlioceneFromODP684 topUpperMioceneFromODP684 但我需要像这样形成这些行(特别是只更改那些“faultsPackage”): faultsPackage faultsPackage faultsPackage faultsPackage faultsPackage faultsPackage faultsPackage seafloor topLowerMiocene topMetamorphicBasement topMiddleEocene topMiddleMiocene topMiddleOligocenetoUpperEocene? topPlioceneFromODP684 topUpperMioceneFromODP684 因为这些名称代表variables,这些variables将popup一些进一步的过程。 我试过了: sed 's/[1-7]//' 但它会删除列表中的所有数字,所以没用。 我想,例如,在某种程度上,它只能被检测到字母“e”后面跟1-7的数字,然后删除这些数字,但不知道如何在shell中实现。 任何提示将不胜感激,在此先感谢。

将Windows bat文件转换为Linux sh shell脚本

我正在尝试parsing和合并大量包含Ordnance Survey地址数据的csv文件。 操作系统提供了一个batch file,但我希望能够在Linux服务器上运行它,因为这些文件是巨大的。 我已经尝试从bat文件转换为ssh使用这个非常手指南 。 但是我正在努力调用这个过程。 有人能够检查什么是错的? 原来的脚本(我在这里截掉了一点) FOR /F %%A IN ('dir *.csv /b/s') DO (CALL :process "%%A" "%%~NA") @rem — merge the individual record identifier files copy *_10_Records.csv Master_10_Records.out copy *_11_Records.csv Master_11_Records.out copy *_15_Records.csv Master_15_Records.out copy *_21_Records.csv Master_21_Records.out del *_Records.csv @rem — add header records to the individual record identifier files copy […]