标签: bash

在两个不同的文件中显示重复的行

我有两个文件,我想显示重复的行.我试过这个,但它不起作用:

cat id1.txt | while read id; do grep "$id" id2.txt; done

我想知道是否有任何其他方式来显示文件中的重复行.我的两个文件都包含id列表.谢谢.

linux bash

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

wget保持会话等效卷曲

我正在创建一个应该在MAC中工作的脚本,我想知道使用curl命令的以下命令行的等效性:

wget --keep-session-cookies --load-cookies=cookies.txt --referer=website.com http://website.com/folder/$count
Run Code Online (Sandbox Code Playgroud)

提前致谢.

bash curl wget

5
推荐指数
1
解决办法
5422
查看次数

三通管中的折断的管道,带有工艺替代物

我刚刚发现了使用进行流程替换的方法>(),对此感到非常兴奋,但是当我尝试使用它时,它并不总是有效。例如

这有效:

cat /usr/share/dict/words |tee >(tail -1) > /dev/null
ZZZ
Run Code Online (Sandbox Code Playgroud)

这会导致管道错误:

cat /usr/share/dict/words |tee >(head -1) > /dev/null
1080
tee: /dev/fd/63: Broken pipe
Run Code Online (Sandbox Code Playgroud)

知道为什么吗?谢谢!

更新:这是在RHEL 4和RHEL 6.2上

bash shell

5
推荐指数
1
解决办法
1862
查看次数

zshrc"命令未找到:npm"

所以我正在研究学习node.js. 我一直在关注这个教程来安装它并尝试一些东西.

无论如何,npm表现得非常奇怪.它会在一段时间内正常工作(例如我改变了它的查看器配置设置),然后突然"消失",以便下次进入

npm ...(anything)
Run Code Online (Sandbox Code Playgroud)

在命令行中,我的shell通知我没有找到npm命令.以前,使用nvm卸载然后重新安装npm已经有效了,但是我不想每隔十分钟就这样做,而且我突然停止工作对我来说非常奇怪.

我想最后一次,它在我编辑然后重新获取我的〜/ .zshrc文件后停止工作 - 只是添加了npm和节点制表符完成插件.

知道发生了什么事吗?我会发布几个基本命令的结果,但我对sysadmin的东西真的很糟糕,我真的不知道在这里要找什么.

nvm -ls

   v0.8.22
current:    v0.10.2
default -> 0.8 (-> v0.8.22)
Run Code Online (Sandbox Code Playgroud)

哪个节点

/usr/bin/node
Run Code Online (Sandbox Code Playgroud)

哪个npm

npm not found
Run Code Online (Sandbox Code Playgroud)

nvm(这是一个重复的吗?)和npm目录直接在我的根文件夹中.

如果我进入/ usr/bin,则node是文件,而不是目录.还有一个文件npm,但不是文件nvm.

正如上面所说的那样,我真的不知道发生了什么.我搜索过这个,但似乎没有人有这个问题.任何想法发生了什么或如何找出?

编辑注意到我的默认节点不是最新的,我做了所有这些.撇开为什么我的shell自动切换到bin目录(为什么这似乎是一个github回购 - 不知道我的电脑是什么),这是否提供了任何线索?:

?  node  nvm alias default v0.10.2
default -> v0.10.2
?  node  nvm ls
   v0.8.22
current:    v0.10.2
default -> v0.10.2
?  node  npm
zsh: command not found: npm
?  node  nvm install npm
######################################################################## 100.0%
Checksums do not match.
Binary download failed, trying source. …
Run Code Online (Sandbox Code Playgroud)

bash zsh node.js npm

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

如何过滤掉文件中的所有唯一行?

有没有办法通过命令行工具过滤掉文件中的所有唯一行而不对行进行排序?我想基本上这样做:

sort -u myFile
Run Code Online (Sandbox Code Playgroud)

没有排序的性能.

linux bash shell command-line

5
推荐指数
1
解决办法
1258
查看次数

bash shell脚本错误sh:[:缺少`]'

目标:

我正在尝试创建一个有用的快捷方式来在本地初始化git repo,同时在bitbucket或github上创建一个远程repo源.此功能已添加到.bashrc我的主目录中的文件中.

这是bash函数(产生错误):

function initg() {
 # Defaults to bitbucket API
 local API="https://api.bitbucket.org/1.0/repositories/"
 local DATA="name=$3&description=$4&is_private=true&scm=git"
 local REMOTE="ssh://git@bitbucket.org/$2/$3"

 # Use github if specified
 if [ "$1" == "gh" ]; then
      API="https://api.github.com/user/repos"
      DATA='{"name":"$3", "description": "$4"}'
      REMOTE="git@github.com:$2/$3"
 fi

 if [ -z "$API" ] || [ -z "$DATA" ] || [ -z "$REMOTE" ] || [ -z "$2" ]
 then
      echo "A parameter is missing or incorrect"
 else
      curl -X POST -u $2 ${API} -d ${DATA}
      git init
      git add . …
Run Code Online (Sandbox Code Playgroud)

unix git bash shell bitbucket

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

从ls中提取子字符串

我正在创建一个小脚本,我必须列出我所有的Tomcat二进制文件.
到目前为止,我能够做到这一点:
ls -1 | grep '\-tomcat\-' | cut -f3 -d'-'

这基本上列出了所有版本,但它添加了.zip或.tar.gz

5.5.17.zip
5.5.26.tar.gz
5.5.27.tar.gz
5.5.28.tar.gz
5.5.31.tar.gz
5.5.32.tar.gz
Run Code Online (Sandbox Code Playgroud)


我想知道如何从提取的字符串中删除.zip和.tar.gz.

unix linux bash substring

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

bash函数$ RANDOM是否应该具有均匀分布?

我知道bash函数$ RANDOM会在一定范围内生成随机整数,但是这些数字是否应该遵循(或近似)均匀的离散分布?

linux bash statistics

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

当bash脚本运行时,人们如何显示精美的标题

我怎样才能使bash脚本具有很酷的标题

目前,我只是使用echo将arg cliccker命名为我的脚本

而不是无聊的行,我该如何制作fnacy bash sript徽标

如下所示:

就像这个外壳顶部的徽标

bash title

5
推荐指数
1
解决办法
1180
查看次数

在函数内部使用Bash间接变量赋值

我有一个脚本,用户输入需要进行评估数次,该解决方案IM工作就是把评估位转换成函数,只需调用函数每次我需要评估的输入时间.问题是,当我试图更新$1变量(引用函数的第一个变量参数)时,我收到错误消息"$ VARIABLE command not found".

这是代码:

function input_handler() {
 if is_integer $1; then
  selid="$1 -1"
  if [[ "$1" -le "0" ]]; then
   echo "Please use a simple positive number!"
  else
   if [[ "$1" -le "${#array[*]}" ]]; then
    eval $1="${array[selid]}"
    echo "Ok, moving on..."
   else
    echo "That number seems too large, try again?"
   fi
  fi
 else
  if [ -e $2/$1 ]; then
   echo "Ok, moving on..."
  else
   echo "That item is not on the list, try again!"
  fi
 fi …
Run Code Online (Sandbox Code Playgroud)

variables bash function

5
推荐指数
1
解决办法
2899
查看次数

标签 统计

bash ×10

linux ×4

shell ×3

unix ×2

bitbucket ×1

command-line ×1

curl ×1

function ×1

git ×1

node.js ×1

npm ×1

statistics ×1

substring ×1

title ×1

variables ×1

wget ×1

zsh ×1