小编Dom*_*red的帖子

如何根据文件中的最小行删除前X行

我有一个10,000行的文件.使用以下命令,我将删除第10,000行之后的所有行.

sed -i '10000,$ d' file.txt
Run Code Online (Sandbox Code Playgroud)

但是,现在我想删除前X行,使文件不超过10,000行.

我想会是这样的:

sed -i '1,$x d' file.txt
Run Code Online (Sandbox Code Playgroud)

$x超过10,000的行数在哪里.我有点坚持如何写if,然后是它的一部分.或者,我以为我可以使用原始命令而只是cat反向使用文件?

例如,如果我们只想从底部开始3行(在一些有用的答案之后似乎更简单):

输入:

Example Line 1
Example Line 2
Example Line 3
Example Line 4
Example Line 5
Run Code Online (Sandbox Code Playgroud)

预期产出:

Example Line 3
Example Line 4
Example Line 5
Run Code Online (Sandbox Code Playgroud)

当然,如果你知道一种更有效的编写命令的方法,我也会对此持开放态度.您的积极意见得到高度赞赏.

unix linux bash awk sed

8
推荐指数
2
解决办法
444
查看次数

如何仅删除单个空行 - 保留多个空行

我有一些数据,我想保留多个空白行,只删除单个空白行.我的数据如下所示:

1

2

3

4


5


6

7

8



9

10
Run Code Online (Sandbox Code Playgroud)

我希望输出为:

1
2
3  
4


5


6
7
8



9
10
Run Code Online (Sandbox Code Playgroud)

我尝试使用以下命令,但我似乎无法让它工作:

awk ' /^$/ { print; } /./ { printf("%s ", $0); }'
Run Code Online (Sandbox Code Playgroud)

sed 'N;/^\n$/d;P;D'
Run Code Online (Sandbox Code Playgroud)

此外,我尝试使用,cat -s但不一定取出空白行.此外,我玩过sed '/^$/'但不能指定单行.任何帮助是极大的赞赏.

linux bash awk sed

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

W3 Total Cache - 允许编辑从缓存中清除单个帖子

我一直在寻找一种方法让我的编辑器从页面缓存中清除帖子。

问题:

我正在制作元描述更新,在单击“发布更新”时不会更新,有时如果不从页面缓存中清除帖子,标题也不会更新。但是,如果我单击两次更新,它会通过。

问题是编辑者角色无权从缓存中清除帖子。

我尝试过的:

我发现有些用户能够创建脚本,但我在常见问题解答中找不到它的代码。https://wordpress.org/support/topic/plugin-w3-total-cache-can-non-admin-users-clear-the-cache

其次,我读了一些关于片段缓存的提及,但我没有看到任何关于它的进一步文档。

第三,我尝试跟踪不断变化的用户角色,但它认为插件并不安全:https : //wordpress.org/support/topic/allow-editors-to-flush-cache-from-toolbar

第四,我发现了其他一些对此感兴趣,但没有解决:https : //wordpress.org/support/topic/editor-user-level-able-to-purge-cache

第五,在 StackOverflow 上,他们限制了某些用户。这意味着这是可能的,但不是直接的解决方案?为 w3-total-cache 上的特定角色禁用“从页面缓存中清除”

要求:

我想为编辑角色找到一种方法来清空单个帖子的页面缓存。如果您可以提供像单独的页面脚本这样的解决方法来手动执行此操作或通过添加来调整权限functions.php,我将不胜感激。

php wordpress caching w3-total-cache

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

修复awk命令中数据和本地之间的不匹配

我收到以下错误:

awk: cmd. line:1: (FILENAME=- FNR=798) warning: Invalid multibyte data detected. There may be a mismatch between your data and your locale.

我正在运行的命令如下:

cat file.txt | awk 'length($0)<10000' > output-file.txt

奇怪的是,如果我管道其他命令awk '{ sub("\r$", ""); print }',它可以正常工作没有错误.

任何人都明白为什么我会得到这个错误?或者,我应该忽略它吗?

unix linux bash awk locale

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

使用grep提取html文件的标题

cat 1.html | grep "<title>" > title.txt  
Run Code Online (Sandbox Code Playgroud)

这个grep语句不起作用.

请告诉使用grep或sed获取页面标题的最佳方法.

谢谢.

bash shell grep

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

VLook-Up将一列的前3个字符与另一列匹配

我正在尝试将列A中的单词列表与列B中的另一个单词列表进行匹配.我只需要列A中单词的前三个字符来匹配列B中单词的前三个字符.我会比如结果在B列中是相同的值.这可能吗?

这是我正在使用的: =VLOOKUP(LEFT(A1,3),B$2:B$22, 2,TRUE)

但是,我一直在#N/A.有人可以帮忙吗?

excel vlookup

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

如何将VBA代码中的单词列入黑名单

我有以下脚本将单元格中的任何单词与单元格范围内的任何其他单词匹配.但是,我希望代码省略某些常用术语,如"和,或者,大,小".

我对VBA不太满意,所以我希望有人可以告诉我在哪里将它添加到代码中:

Sub FindSimilar()
Dim phrases As Range, phrase As Range
Dim terms As Range, term As Range
Dim matches As String
Dim words() As String

'ensure this has the correct sheet names for your workbook
Set phrases = ThisWorkbook.Worksheets("Export").Range("B2:B2000")
Set terms = ThisWorkbook.Worksheets("Topics").Range("D100:D3000")

For Each term In terms
    matches = ""
    words() = Split(term.Value)

    For i = 0 To UBound(words, 1)
        For Each phrase In phrases
            If InStr(1, phrase.Value, words(i)) Then
                matches = matches & phrase & …
Run Code Online (Sandbox Code Playgroud)

excel vba excel-vba

3
推荐指数
1
解决办法
182
查看次数

替换不包含匹配字符串的所有行

我正在处理这个看起来像这样的数据文件:

text in file
hello random text in file
example text in file
words in file hello
more words in file
hello text in file can be
more text in file
Run Code Online (Sandbox Code Playgroud)

我想,以取代那些所有行包含字符串hellomatch使用SED,所以输出将是:

match
hello random text in file
match
words in file hello
match
hello text in file can be
match
Run Code Online (Sandbox Code Playgroud)

我尝试使用sed '/hello/!d'但删除了该行.另外,我读到我可以!在sed 中使用匹配,但我不确定如何匹配每一行并正确替换.如果你可以给我一些方向,我会非常感激.

linux bash awk sed

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

如果在两个文件之间找到匹配,如何仅添加字符串

我正在处理包含网址的几个文件.我尝试过使用sed,cut和grep,但我真的不确定如何处理它.如果你能让我朝着正确的方向前进,我会非常感激.

档案1:

https://example1.com
http://example2.com
Run Code Online (Sandbox Code Playgroud)

文件2:

example1.com/example1-is-https-domain/
example1.com/need-https-in-front/
example1.com/match-me-to-https/
example1.com/example-https-not-http/
example2.com/im-an-http-domain/
example2.com/must-match-to-example2/
example2.com/path-of-http/
example2.com/http-domain-not-https/
example3.com/this-should-not-match/
example3.com/this-page-is-not-required/
Run Code Online (Sandbox Code Playgroud)

期望的输出:

https://example1.com/example1-is-https-domain/
https://example1.com/need-https-in-front/
https://example1.com/match-me-to-https/
https://example1.com/example-https-not-http/
http://example2.com/im-an-http-domain/
http://example2.com/must-match-to-example2/
http://example2.com/path-of-http/
http://example2.com/http-domain-not-https/
Run Code Online (Sandbox Code Playgroud)

我的方法:

我想我可以使用grep与'//'后匹配的选项,然后需要使用另一个命令将所找到的内容粘贴在一起?这是我挣扎的地方.很感谢任何形式的帮助.

摘要:

我真的试图将正确的http或https添加到文件1和2之间的匹配域.

linux bash awk grep sed

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

如何使用 Javascript 跟踪出站点击

我正在尝试使用此处提供的代码:Make a ping to a url without redirecting。OP 要求在不打开多个窗口的情况下 ping 一个 URL。我想这样做,但我想实际访问第二个网址,以便我可以在服务器分析中跟踪出站点击。

这是我试图使其工作的代码:

<a href="javascript:;" onclick="visitPageX()">link</a>

function visitPageX() {
  // send Ajax request to the track URL
  setTimeout(function() {
    location.href = 'http://{pageXURL}';
  }, 300);
}
Run Code Online (Sandbox Code Playgroud)

但是,我不明白应该将“跟踪网址”放在哪里。这是我的尝试:

<a href="javascript:;" onclick="visitPageX()"><a href="http://externalsite.com/">anchor text</a></a>

function visitPageX() {
  // send Ajax request to the track URL
  setTimeout(function() {
    location.href = 'http://externalsite.com/';
  }, 300);
}
Run Code Online (Sandbox Code Playgroud)

我被困在该放哪里

http://examplemysite.com/tracking.php?123
Run Code Online (Sandbox Code Playgroud)

这样我就可以计算出站点击次数。如果您能帮助我使此代码正常运行,或者提供更好的解决方案来跟踪出站点击而不使用 Google Analytics,我将不胜感激。

非常感谢您的支持。

html javascript php ajax redirect

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

在随机化之前根据先前的文件顺序重新排序行

我有以下几行file1:

line 1text
line 2text
line 3text
line 4text
line 5text
line 6text
line 7text
Run Code Online (Sandbox Code Playgroud)

通过命令,cat file1 | sort -R | head -4我得到以下内容file2:

line 5text
line 1text
line 7text
line 2text
Run Code Online (Sandbox Code Playgroud)

我想在下面命名行(不是数字,只是相同的顺序file1)file3:

line 1text
line 2text
line 5text
line 7text
Run Code Online (Sandbox Code Playgroud)

实际数据没有数字.有什么简单的方法吗?我正在考虑做一个grep并在循环中找到第一个实例.但是,我相信你经验丰富的人知道一个更简单的解决方案.您的积极意见得到高度赞赏.

linux bash awk grep sed

0
推荐指数
1
解决办法
59
查看次数

如何使用 IF/Then Bash 命令比较 2 个文件中的行数

我想比较两个单独文件的行数。虽然我尝试wc -l在比较中使用,但我正在努力让它正常工作。

我有:

if [ "$(wc -l file1.txt)" == "$(wc -l file2.txt)" ]; then echo "Warning: No Match!"; fi
Run Code Online (Sandbox Code Playgroud)

但是,if/then 语句不会返回正确的输出。

如果文件 1 和文件 2 的行数相同,那么编写此代码的正确方法是什么?

文件1.txt:

example1
example2
example3
Run Code Online (Sandbox Code Playgroud)

文件2.txt:

example4
example5
example6
Run Code Online (Sandbox Code Playgroud)

更新:我们发现该wc -l命令必须仅返回一个数字才能进行比较。与问题为什么 Bash 中的“[”之后和“]”之前应该有一个空格?,这个问题需要使用wc -l得到一个整数,可以比较单独文件中的行数。

unix linux bash if-statement wc

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

标签 统计

bash ×8

linux ×7

awk ×6

sed ×5

grep ×3

unix ×3

excel ×2

php ×2

ajax ×1

caching ×1

excel-vba ×1

html ×1

if-statement ×1

javascript ×1

locale ×1

redirect ×1

shell ×1

vba ×1

vlookup ×1

w3-total-cache ×1

wc ×1

wordpress ×1