我有两个文件,我想显示重复的行.我试过这个,但它不起作用:
cat id1.txt | while read id; do grep "$id" id2.txt; done
我想知道是否有任何其他方式来显示文件中的重复行.我的两个文件都包含id列表.谢谢.
我正在创建一个应该在MAC中工作的脚本,我想知道使用curl命令的以下命令行的等效性:
wget --keep-session-cookies --load-cookies=cookies.txt --referer=website.com http://website.com/folder/$count
Run Code Online (Sandbox Code Playgroud)
提前致谢.
我刚刚发现了使用进行流程替换的方法>(),对此感到非常兴奋,但是当我尝试使用它时,它并不总是有效。例如
这有效:
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上
所以我正在研究学习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) 有没有办法通过命令行工具过滤掉文件中的所有唯一行而不对行进行排序?我想基本上这样做:
sort -u myFile
Run Code Online (Sandbox Code Playgroud)
没有排序的性能.
目标:
我正在尝试创建一个有用的快捷方式来在本地初始化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) 我正在创建一个小脚本,我必须列出我所有的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.
我知道bash函数$ RANDOM会在一定范围内生成随机整数,但是这些数字是否应该遵循(或近似)均匀的离散分布?
我怎样才能使bash脚本具有很酷的标题
目前,我只是使用echo将arg cliccker命名为我的脚本
而不是无聊的行,我该如何制作fnacy bash sript徽标
如下所示:

我有一个脚本,用户输入需要进行评估数次,该解决方案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)