小编gni*_*urf的帖子

使用PHP包括分隔网站内容

我正在寻找关于将网站内容分成逻辑块的最佳实践的建议.我希望页眉和页脚在整个站点中保持不变,这样如果我有几页不同的内容,它们将如下所示 - 对页眉和页脚所做的更改会自动更新,而不必更改每个页面.

<?php
include 'header.php';
?>
<body>
    <p>page content here</p>
</body>
<?
include 'footer.php';
?>
Run Code Online (Sandbox Code Playgroud)

header.php将包含开幕<html>,<head>和静态内容,以及footer.php将包含任何额外的静态内容和结束</html>标记.所以,我的问题是:这是一个好方法吗?我担心将<html>标签分散到多个文件是不好的做法.如果是这样,采用这种设计的正确方法是什么?

php layout

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

如何使用awk将文件的某个字段更改为大写?

我有这样的文本文件:

1 http http 3 4 5 
2 dns dns 4 
3 ftp ftp 4 5 6 8 
Run Code Online (Sandbox Code Playgroud)

我希望输出如下:

1 HTTP http 3 4 5 
2 DNS dns 4 
3 FTP ftp 4 5 6 8 
Run Code Online (Sandbox Code Playgroud)

我想将第二个字段从小写改为大写,只改为第二个字段.

请注意,某行中的字段数不固定.

我可以使用这个目标awk吗?

linux bash awk

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

多条件的PHP

我写了一个包含许多条件的简单脚本:

$item =12;
    if($item < 5)
    { 
    //display icon buyer
    }
    elseif ($item < 10)
    {
    //display icon buyer
    }
    elseif ($item < 15)
    {
    //display icon good buyer
    }
    elseif ($item < 20)
    {
    //display icon top buyer
    }
    // etc....
Run Code Online (Sandbox Code Playgroud)

这是一个漫长的多重条件,我知道非常糟糕.

我如何优化代码?

注意. switch是不可能的,因为我使用的是运营商<>

php switch-statement

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

bash locate with pattern with pattern

我试图用locate命令找到一个文件.

它表现出一些奇怪的模式,至少不喜欢lsfind命令.

我做以下事情:

sh@sh:~$ locate rhythmdb
/home/sh/.local/share/rhythmbox/rhythmdb.xml
sh@sh:~$ locate "rhyth*"
sh@sh:~$ locate 'rhyth*'
sh@sh:~$ locate rhyth*
Run Code Online (Sandbox Code Playgroud)

(截图)

在我的拙见中,它应该找到使用星号的时候,但事实并非如此.

有什么不对?

bash locate

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

如何在Linux中基于父文件夹移动和重命名文件?

我有一个名为photos以下结构的文件夹:

00001/photo.jpg
00002/photo.jpg
00003/photo.jpg
Run Code Online (Sandbox Code Playgroud)

我想要:

  1. 将文件夹(已调用photo.jpg)中的文件重命名为父文件夹.
  2. 将文件夹向上移动.
  3. 删除父文件夹.

所以photos文件夹将是这样的:

00001.jpg
00002.jpg
00003.jpg
Run Code Online (Sandbox Code Playgroud)

我怎么能在Linux的终端中做到这一点?

注意.有100000多个这样的文件夹photos.

linux directory bash command-line file

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

crontab 的特殊转义

我在 RHEL 6 机器上有以下用户 crontab 条目(敏感值已被替换):

MAILTO=cron-errors@organisation.com
0 5 * * * ~/bin/app_state.sh host-arg 9200 > ~/state/app-state-$(hostname)-$(date +%F).json
Run Code Online (Sandbox Code Playgroud)

/var/log/cron以下位置生成此条目:

Apr 23 05:00:08 host CROND[13901]: (dbjobs) CMD (~/bin/app_state.sh host-arg 9200 > ~/state/app-state-$(hostname)-$(date +)
Run Code Online (Sandbox Code Playgroud)

但是没有文件。

将语句更改为:

43 5 * * * ~/bin/app_state.sh host-arg 9200 > ~/state/app-state-static.json
Run Code Online (Sandbox Code Playgroud)

我得到了一个更好的日志条目,文件创建于 ~/state/app-state-static.json

我敢肯定,不逃避会存在一些问题,+%F但在我的一生中无法找到有关如何逃避它的详细信息。我可以将文件名生成包装在另一个 shell 脚本中,但这对于来寻找文件的人来说更容易阅读。

bash cron rhel crontab

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

关于对称关系的 Prolog 重复解

考虑这个小程序:

married(bill, hillary).
spouse(X, Y) :- married(X, Y); married(Y, X).
likes(X, Y) :- spouse(X, Y).
Run Code Online (Sandbox Code Playgroud)

现在我想评估一个目标

?- likes(X, Y).
X = bill
Y = hillary ?;
X = hillary
Y = bill
yes 
Run Code Online (Sandbox Code Playgroud)

有没有办法防止在回溯时重复这种对称关系,并且仍然保持目标的对称性?- likes(hillary, X).

symmetric prolog relation

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

解析Bash内置时间的输出

我正在从Bash脚本运行一个C程序,并通过一个名为time的命令运行它,该命令输出一些运行算法的时间统计信息.

如果我要执行命令

time $ALGORITHM $VALUE $FILENAME
Run Code Online (Sandbox Code Playgroud)

它产生输出:

real    0m0.435s
user    0m0.430s
sys     0m0.003s
Run Code Online (Sandbox Code Playgroud)

值取决于算法的运行

但是,我希望能够采用0.435并将其分配给变量.我已经读了一下awk,足以知道如果我把上面的命令输入awk,我应该能够抓住0.435并将它放在一个变量中.但是我该怎么做?

非常感谢

bash awk parsing command output

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

不同文件夹中具有相同名称的文件

我正在寻找一个命令行,可以对两个具有相同名称但在不同文件夹中的文件执行某些操作.

例如,如果

  • 文件夹中A包含的文件1.txt,2.txt,3.txt,...
  • 文件夹中B包含的文件1.txt,2.txt,3.txt,...

我想将两者连接起来的文件A/1.txtB/1.txt,和A/2.txtB/2.txt,...

我正在寻找一个shell命令来做到这一点:

if file name in A is equal the file name in B then: 
    cat A/1.txt B/1.txt
end if
Run Code Online (Sandbox Code Playgroud)

在文件夹中的所有文件AB,如果只有名称匹配.

linux bash shell scripting file

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

在这里使用两个字符串

我可以使用herestrings将字符串传递给命令,例如

cat <<< "This is a string"
Run Code Online (Sandbox Code Playgroud)

如何使用herestrings将两个字符串传递给命令?我该怎么办呢

### not working
diff <<< "string1" "string2"

### working but overkill
echo "string1" > file1
echo "string2" > file2
diff file1 file2
Run Code Online (Sandbox Code Playgroud)

bash shell heredoc

4
推荐指数
1
解决办法
659
查看次数