我如何从变量中读取while read line
?
例如:
the_list=$(..code..)
while read line
do
echo $line
done < $the_list
Run Code Online (Sandbox Code Playgroud)
使用上面的代码给我错误:
./copy.sh: line 25: $the_list: ambiguous redirect
Run Code Online (Sandbox Code Playgroud) 如何在没有换行符的情况下将字符串添加到文件末尾?
例如,如果我使用>>它将添加到文件的末尾与换行符:
cat list.txt
yourText1
root@host-37:/# echo yourText2 >> list.txt
root@host-37:/# cat list.txt
yourText1
yourText2
Run Code Online (Sandbox Code Playgroud)
我想在yourText1之后添加yourText2
root@host-37:/# cat list.txt
yourText1yourText2
Run Code Online (Sandbox Code Playgroud) 我正在为bash编写脚本,我需要使用wget获取下载文件的名称并将名称放入$ string
例如,如果我在下面下载这个文件,我想把它的名字命名为mxKL17DdgUhcr.jpg到$ string
wget http://pics.sitename.com/images/191211/mxKL17DdgUhcr.jpg
45439 (44K) [image/jpeg]
Saving to: «mxKL17DdgUhcr.jpg»
100%[===================================================================================================>] 45 439 --.-K/s ? 0s
2011-12-20 12:25:33 (388 MB/s) - «mxKL17DdgUhcr.jpg» saved [45439/45439]
Run Code Online (Sandbox Code Playgroud) 我需要以数字方式对.flv文件进行排序,我可以使用以下命令执行此操作:
ls *\.flv | sort --version-sort -f
Run Code Online (Sandbox Code Playgroud)
但是有很多文件(数百个),它没有正确排序.
ls *\.flv | sort --version-sort -f | tail -n 20
e680.flv
e681.flv
e682.flv
e683.flv
e684.flv
e685.flv
e686.flv
e687.flv
e688.flv
e689.flv
e690.flv
e691.flv
e692.flv
e693.flv
e694.flv
e695.flv
**e696.flv**
s572.flv
s602.flv
s654.flv
Run Code Online (Sandbox Code Playgroud)
但奇怪的是,如果我在没有"*.flv"
它工作的情况下破坏命令.
我可以使用ls但我在文件夹中有其他文件类型.
ls | sort --version-sort -f | tail -n 20
e680.flv
e681.flv
e682.flv
e683.flv
e684.flv
e685.flv
e686.flv
e687.flv
e688.flv
e689.flv
e690.flv
e691.flv
e692.flv
e693.flv
e694.flv
e695.flv
e696.flv
Run Code Online (Sandbox Code Playgroud)
到目前为止我尝试过的:
ls | sort --version-sort -f | grep "flv"
ls *.flv | …
Run Code Online (Sandbox Code Playgroud) 我需要登录页面然后提交条目.我可以使用以下代码登录
curl $HOST -s -L -b $COOKIE -c $COOKIE -d "login=submit&login_name=$USER&login_password=$PASS" -o $OUTPUT
Run Code Online (Sandbox Code Playgroud)
但是当我尝试提交一个条目时我不再登录了
curl $HOSTADDNEWS -L -b $COOKIE -c $COOKIE -A $HEADER -d "title=$TITLE" -o $OUTPUT.add.news
Run Code Online (Sandbox Code Playgroud)
如何在请求之间保留cookie?
是否可以绕过“盗链”图像保护?我不想将其发布到其他网站上只是为了下载。当我使用 wget 下载以下图像时:
http://comicsbook.ru/upload/%D0%9A%D0%BE%D0%BC%D0%B8%D0%BA%D1%81-Trollface-%D0%9D%D0%B0-%D0%B1%D0%BE%D1%80%D1%82%D1%83-70813.jpg
Run Code Online (Sandbox Code Playgroud)
我被重定向到:
http://comicsbook.ru/trollface/70813?na-bortu
Run Code Online (Sandbox Code Playgroud)
我不知道从哪里开始。到目前为止我尝试过的:
curl "http://comicsbook.ru" -s -L -b cookie.c -c cookie.c -b "$COOKIEPAR" > index.$TEMP
wget http://comicsbook.ru/upload/%D0%9A%D0%BE%D0%BC%D0%B8%D0%BA%D1%81-Trollface-%D0%9D%D0%B0-%D0%B1%D0%BE%D1%80%D1%82%D1%83-70813.jpg
Run Code Online (Sandbox Code Playgroud) 已经做了一百万次了,但这一次它不起作用我尝试从文件中 grep“$TITLE”。在命令行上它正在工作,“$TITLE”变量不为空,但是当我运行脚本时它什么也没发现
*标题包含多个单词
echo "$TITLE"
cat PAGE.$TEMP.2 | grep "$TITLE"
Run Code Online (Sandbox Code Playgroud)
我试过的:
echo "cat PAGE.$TEMP.2 | grep $TITLE"
Run Code Online (Sandbox Code Playgroud)
查看标题是否不为空且文件名是否确实存在
我正在用bash编写一个脚本,将old-link-url替换为new-link-url我的问题是sed因为斜杠而无法替换url.如果我只放一些文字就行了.
我的代码
sed -e s/"$old_link"/"$new_link"/g wget2.html > playlist.txt
Run Code Online (Sandbox Code Playgroud) 我有一个变量,其中包含json_encode/users/crazy_bash/online/test /中的路径
但是json_encode将路径转换为:
\/users\/crazy_bash\/online\/test\/
Run Code Online (Sandbox Code Playgroud)
为什么?我该如何显示正常路径?
代码
$pl2 = json_encode(array(
'comment' => $nmp3,
'file' => $pmp3
));
echo($pl2);
Run Code Online (Sandbox Code Playgroud)